![]() |
PK_THREAD_is_in_kernel |
PK_ERROR_code_t PK_THREAD_is_in_kernel ( --- returned arguments --- PK_LOGICAL_t *const is_in_kernel, --- whether called from within the kernel PK_LOGICAL_t *const is_protected, --- whether called from protected region PK_LOGICAL_t *const is_subthread, --- whether called from internal thread PK_LOGICAL_t *const is_excluding --- whether function is excluding threads ) This function returns whether the calling thread is executing inside the kernel. Being only inside this function does not constitute being inside the kernel. The argument 'is_protected' returns whether kernel code being executed, if any, may change the model. The argument 'is_subthread' returns whether the calling thread is an internal Parasolid thread rather than that of the application (see PK_SESSION_set_smp). The argument 'is_excluding' returns whether the function is currently excluding other threads from entering Parasolid. This function may only be called when the modeller is started.