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.