-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Description
CoPendSem does not work with timeout in all situations.
curTCB->pmail = Co_NULL; needs to be added on line 243 in sem.c
/* Block task until event or timeout occurs */
EventTaskToWait(pecb,curTCB);
InsertDelayList(curTCB,timeout);
curTCB->pmail = Co_NULL; <------ ADD THIS
OsSchedUnlock();
if (curTCB->pmail == Co_NULL) /* If pmail is Co_NULL, time-out occurred*/
{
return E_TIMEOUT;
}
else /* Event occurred or event have been deleted*/
{
OsSchedLock();
curTCB->pmail = Co_NULL;
pecb->eventCounter--;
OsSchedUnlock();
return E_OK;
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels