From fbabce651f04b55673984d33ff4a88abeefcdbd6 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Thu, 20 Sep 2001 17:44:27 +0000 Subject: [PATCH] dont deadlock if ca_clear_event() is in event cb --- src/db/dbEvent.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/db/dbEvent.c b/src/db/dbEvent.c index 212ee344f..9c5ccbda9 100644 --- a/src/db/dbEvent.c +++ b/src/db/dbEvent.c @@ -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 )