From c8d9d5e9524fc77a82a9e0a93ba93f46b6f7d050 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 23 Jun 2014 16:28:27 -0400 Subject: [PATCH] dbLock: atexit --- src/ioc/db/dbLock.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ioc/db/dbLock.c b/src/ioc/db/dbLock.c index eb2e113f7..d9bf09dca 100644 --- a/src/ioc/db/dbLock.c +++ b/src/ioc/db/dbLock.c @@ -54,6 +54,7 @@ since this will delay all other threads. #include "epicsMutex.h" #include "epicsThread.h" #include "epicsAssert.h" +#include "epicsExit.h" #include "cantProceed.h" #include "ellLib.h" #define epicsExportSharedSymbols @@ -107,7 +108,16 @@ typedef struct lockRecord { lockSet *plockSet; dbCommon *precord; } lockRecord; - + +static void dbLockExit(void *junk) +{ + epicsMutexDestroy(globalLock); + epicsMutexDestroy(lockSetModifyLock); + globalLock = NULL; + lockSetModifyLock = NULL; + dbLockIsInitialized = FALSE; +} + /*private routines */ static void dbLockInitialize(void) { @@ -118,6 +128,7 @@ static void dbLockInitialize(void) globalLock = epicsMutexMustCreate(); lockSetModifyLock = epicsMutexMustCreate(); dbLockIsInitialized = TRUE; + epicsAtExit(dbLockExit,NULL); } static lockSet * allocLockSet(