이 메소드는 현재 운영 체제 스레드를 종료하는 콜백 함수입니다.
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;
}