此方法是用于结束当前操作系统线程的回调函数。
int RiCOSTask_getTaskEndClbk (RiCOSTask * const me,
RiCOSTaskEndCallBack * clb_p, void ** arg1_p,
RiCBoolean onExecuteTask);
me
这是 RiCOSTask 对象。
clb_p
这是指向用于结束线程的回调函数的指针。此参数可以是 endMyTask() 或 endOtherTask()。
arg1_p
这是回调函数的自变量。
onExecuteTask
将此参数设置为以下其中一个布尔值:
RiCTRUE - 对象应结束自己的任务。RiCFALSE - 另一个对象应结束此任务。
状态。可能的值如下所示:
int RiCOSTask_getTaskEndClbk(RiCOSTask * const me,
RiCOSTaskEndCallBack * clb_p,
void ** arg1_p, RiCBoolean onExecuteTask)
{
if (me == NULL) return 0;
if (onExecuteTask) {
/* Ask for a callback to end my own thread. */
*clb_p = (RiCOSTaskEndCallBack)&
RiCOSTask_endMyTask;
*arg1_p = (void*)me->hThread;
}
else {
/* Ask for a callback to end my thread by
someone else. */
*clb_p = (RiCOSTaskEndCallBack)&
RiCOSTask_endOtherTask;
/* My thread handle. */
*arg1_p = (void*)me->hThread;
}
return 1;}