From 504665bf09a14473c86a8e613e0a3c60ccc28eea Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 21 Jul 2015 19:08:07 -0400 Subject: [PATCH] iocInit: move dbCaShutdown earlier Switch dbCaShutdown from an exit hook to be called from iocShutdown. Place it after callback shutdown. --- src/ioc/db/dbCa.c | 9 +-------- src/ioc/misc/iocInit.c | 3 +++ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/ioc/db/dbCa.c b/src/ioc/db/dbCa.c index f0c6f6f36..edeeac524 100644 --- a/src/ioc/db/dbCa.c +++ b/src/ioc/db/dbCa.c @@ -223,19 +223,12 @@ void dbCaShutdown(void) } } -static void dbCaExit(void *arg) -{ - dbCaShutdown(); -} - void dbCaLinkInitIsolated(void) { if (!workListLock) workListLock = epicsMutexMustCreate(); - if (!workListEvent) { + if (!workListEvent) workListEvent = epicsEventMustCreate(epicsEventEmpty); - epicsAtExit(dbCaExit, NULL); - } dbCaCtl = ctlExit; } diff --git a/src/ioc/misc/iocInit.c b/src/ioc/misc/iocInit.c index 9759ba18f..1e30eeb77 100644 --- a/src/ioc/misc/iocInit.c +++ b/src/ioc/misc/iocInit.c @@ -682,6 +682,9 @@ int iocShutdown(void) /* stop and "join" threads */ scanStop(); callbackStop(); + } + dbCaShutdown(); + if (iocBuildMode==buildIsolated) { /* free resources */ scanCleanup(); callbackCleanup();