dont deadlock if ca_clear_event() is in event cb

This commit is contained in:
Jeff Hill
2001-09-20 17:44:27 +00:00
parent ea1d5039e8
commit fbabce651f

View File

@@ -497,7 +497,8 @@ int db_cancel_event(struct event_block *pevent)
}
assert ( pevent->npend == 0u );
while ( pevent->callBackInProgress ) {
while ( pevent->callBackInProgress &&
pevent->ev_que->evUser->taskid != taskIdSelf()) {
UNLOCKEVQUE ( pevent->ev_que )
semTake(pevent->ev_que->evUser->pflush_sem, sysClkRateGet());
LOCKEVQUE ( pevent->ev_que )