From a7a87372aab2c086f7ac60db4a5d9e39f08b9f05 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 13 Mar 2015 15:24:07 -0400 Subject: [PATCH] dbNotify: cleanup freelist --- src/ioc/db/dbNotify.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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;