From f430389ee72f08fc1f24fd2960f69c1a14bbf9eb Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sat, 30 Jul 2022 10:47:31 -0700 Subject: [PATCH] iocShutdown(): Always stop worker threads --- modules/database/src/ioc/misc/iocInit.c | 14 +++++++------- modules/libcom/src/iocsh/initHooks.h | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/database/src/ioc/misc/iocInit.c b/modules/database/src/ioc/misc/iocInit.c index c26fd0e95..3be83adbe 100644 --- a/modules/database/src/ioc/misc/iocInit.c +++ b/modules/database/src/ioc/misc/iocInit.c @@ -716,13 +716,13 @@ int iocShutdown(void) iterateRecords(doCloseLinks, NULL); initHookAnnounce(initHookAfterCloseLinks); - if (iocBuildMode == buildIsolated) { - /* stop and "join" threads */ - scanStop(); - initHookAnnounce(initHookAfterStopScan); - callbackStop(); - initHookAnnounce(initHookAfterStopCallback); - } else { + /* stop and "join" threads */ + scanStop(); + initHookAnnounce(initHookAfterStopScan); + callbackStop(); + initHookAnnounce(initHookAfterStopCallback); + + if (iocBuildMode != buildIsolated) { dbStopServers(); } diff --git a/modules/libcom/src/iocsh/initHooks.h b/modules/libcom/src/iocsh/initHooks.h index 15faf1384..9afc0090a 100644 --- a/modules/libcom/src/iocsh/initHooks.h +++ b/modules/libcom/src/iocsh/initHooks.h @@ -95,9 +95,9 @@ typedef enum { initHookAtShutdown, /**< Start of iocShutdown() (unit tests only) */ initHookAfterCloseLinks, /**< Links disabled/deleted */ - initHookAfterStopScan, /**< Scan tasks stopped */ + initHookAfterStopScan, /**< Scan tasks stopped. Prior to UNRELEASED, triggered only by unittest code. */ initHookAfterStopCallback, /**< Callback tasks stopped */ - initHookAfterStopLinks, /**< CA links stopped */ + initHookAfterStopLinks, /**< CA links stopped. Prior to UNRELEASED, triggered only by unittest code. */ initHookBeforeFree, /**< Resource cleanup about to happen */ initHookAfterShutdown, /**< End of iocShutdown() */