From 45db78981ceea313e90bc065c593cad44ec209a5 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 20 Mar 2016 09:43:40 -0400 Subject: [PATCH] iocInit: no need to break DB_LINK when isolated This is being done to free the link private struct, but dbDbRemoveLink() is not used to avoid the overhead of splitting every lockset just before the PDB is free'd. No reason to do this for non-isolated until scans threads are stopped. --- src/ioc/misc/iocInit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ioc/misc/iocInit.c b/src/ioc/misc/iocInit.c index ac3aba1a6..ba0ea345d 100644 --- a/src/ioc/misc/iocInit.c +++ b/src/ioc/misc/iocInit.c @@ -643,7 +643,7 @@ static void doCloseLinks(dbRecordType *pdbRecordType, dbCommon *precord, } dbCaRemoveLink(NULL, plink); - } else if (plink->type == DB_LINK) { + } else if (iocBuildMode==buildIsolated && plink->type == DB_LINK) { /* free link, but don't split lockset like dbDbRemoveLink() */ free(plink->value.pv_link.pvt); plink->type = PV_LINK;