diff --git a/src/ioc/db/dbNotify.c b/src/ioc/db/dbNotify.c index ede8dd30c..5e902ab79 100644 --- a/src/ioc/db/dbNotify.c +++ b/src/ioc/db/dbNotify.c @@ -109,6 +109,15 @@ static void notifyCallback(CALLBACK *pcallback); (listnode)->isOnList=0; \ } +static void notifyFree(void *raw) +{ + notifyPvt *pnotifyPvt = raw; + assert(pnotifyPvt->magic==MAGIC); + epicsEventDestroy(pnotifyPvt->cancelEvent); + epicsEventDestroy(pnotifyPvt->userCallbackEvent); + free(pnotifyPvt); +} + static void notifyInit(processNotify *ppn) { notifyPvt *pnotifyPvt; @@ -301,7 +310,7 @@ static void notifyCallback(CALLBACK *pcallback) void dbProcessNotifyExit(void) { - assert(ellCount(&pnotifyGlobal->freeList)==0); + ellFree2(&pnotifyGlobal->freeList, ¬ifyFree); epicsMutexDestroy(pnotifyGlobal->lock); free(pnotifyGlobal); pnotifyGlobal = NULL;