此方法是結束現行作業系統執行緒的回呼函數。
int RiCOSTask_getTaskEndClbk (RiCOSTask * const me,
RiCOSTaskEndCallBack * clb_p, void ** arg1_p,
RiCBoolean onExecuteTask);
me
RiCOSTask 物件。
clb_p
指向結束執行緒之回呼函數的指標。 這可以是 endMyTask() 或 endOtherTask()。
arg1_p
回呼函數的引數。
onExecuteTask
將此參數設為下列其中一個布林值:
RiCTRUE—物件應該結束 (kill) 其自己的作業。
RiCFALSE—其他物件應該結束 (kill) 作業。
狀態。可能的值如下:
int RiCOSTask_getTaskEndClbk(RiCOSTask * const me,
RiCOSTaskEndCallBack * clb_p,
void ** arg1_p, RiCBoolean onExecuteTask)
{
if (me == NULL) return 0;
if (onExecuteTask) {
/* 要求回呼以結束我自己的執行緒。*/
*clb_p = (RiCOSTaskEndCallBack)&
RiCOSTask_endMyTask;
*arg1_p = (void*)me->hThread;
}
else {
/* 要求回呼以由其他人結束
我的執行緒。*/
*clb_p = (RiCOSTaskEndCallBack)&
RiCOSTask_endOtherTask;
/* 我的執行緒控點。*/
*arg1_p = (void*)me->hThread;
}
return 1;}