|
@ -96,7 +96,7 @@ void vxWorksTaskInit (void) |
|
|
|
|
|
|
|
|
API_ThreadGetName(task, vxTcb[tid].name); |
|
|
API_ThreadGetName(task, vxTcb[tid].name); |
|
|
|
|
|
|
|
|
if (API_ThreadCleanupPush(taskClrTcb, (PVOID)tid)) { |
|
|
if (API_ThreadCleanupPush(taskClrTcb, (PVOID)(ULONG)tid)) { |
|
|
fprintf(stderr, "vxWorks task cleanup push error: %s\n", strerror(errno)); |
|
|
fprintf(stderr, "vxWorks task cleanup push error: %s\n", strerror(errno)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -162,7 +162,7 @@ LW_LIB_HOOK_STATIC void *taskWrapper (WIND_TCB *pTcb) |
|
|
vxRestart[tid] = LW_FALSE; |
|
|
vxRestart[tid] = LW_FALSE; |
|
|
|
|
|
|
|
|
if (pTcb->entry) { |
|
|
if (pTcb->entry) { |
|
|
return ((void *)pTcb->entry(pTcb->arg[0], pTcb->arg[1], pTcb->arg[2], |
|
|
return ((void *)(ULONG)pTcb->entry(pTcb->arg[0], pTcb->arg[1], pTcb->arg[2], |
|
|
pTcb->arg[3], pTcb->arg[4], pTcb->arg[5], pTcb->arg[6], |
|
|
pTcb->arg[3], pTcb->arg[4], pTcb->arg[5], pTcb->arg[6], |
|
|
pTcb->arg[7], pTcb->arg[8], pTcb->arg[9])); |
|
|
pTcb->arg[7], pTcb->arg[8], pTcb->arg[9])); |
|
|
} else { |
|
|
} else { |
|
@ -234,7 +234,7 @@ STATUS taskInit (WIND_TCB *pTcb, char *name, int priority, |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
pTcb->id = HANDLE_TO_TID(pTcb->task); |
|
|
pTcb->id = HANDLE_TO_TID(pTcb->task); |
|
|
if (API_ThreadCleanupPushEx(pTcb->task, taskClrTcb, (PVOID)pTcb->id)) { |
|
|
if (API_ThreadCleanupPushEx(pTcb->task, taskClrTcb, (PVOID)(ULONG)pTcb->id)) { |
|
|
API_ThreadDelete(&pTcb->task, LW_NULL); |
|
|
API_ThreadDelete(&pTcb->task, LW_NULL); |
|
|
API_EventSetDelete(&pTcb->event); |
|
|
API_EventSetDelete(&pTcb->event); |
|
|
return (ERROR); |
|
|
return (ERROR); |
|
|