virtual void getThreadEndClbk( OMOSThreadEndCallBack * clb_p, void ** arg1_p, OMBoolean onExecuteThread) = 0;
clb_p
A pointer to the callback function that
ends the thread. This can be either endMyThread() or endOtherThread().
The function pointer is of type OMOSThreadEndCallBack,
which is defined in OMOSThread as follows:
typedef
void (*OMOSThreadEndCallBack)(void *);
arg1_p
The argument for the callback function.
onExecuteThread
Set this to one of the following Boolean values:
TRUE—The object should kill its own thread. FALSE—Another object should kill the thread.
On some operating systems, there are different calls to kill the current thread versus killing other threads. For example, on Windows NT, you kill the current thread by generating a new OMNTCloseHandleEvent; to kill another thread, you call TerminateThread.
The concrete operating system adapter makes sure that other threads are killed first by providing two static thread functions:
The getThreadEndClbk operation returns the address of either of the static functions endMyThread or endOtherThread. The implementation of these two functions could be different (as on Windows NT), or the same, as on pSOSystem, where both functions call t_restart.