From 58a8a07cc481f2c4f3200facc0a89344849f7017 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 24 Mar 2015 14:18:11 -0400 Subject: [PATCH] dbAccess.c: dbLocker needs at most two refs --- src/ioc/db/dbAccess.c | 7 +++---- src/ioc/db/dbLockPvt.h | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ioc/db/dbAccess.c b/src/ioc/db/dbAccess.c index 732e783dc..3da0d627d 100644 --- a/src/ioc/db/dbAccess.c +++ b/src/ioc/db/dbAccess.c @@ -945,7 +945,7 @@ static long dbPutFieldLink(DBADDR *paddr, dbLinkInfo link_info; DBADDR *pdbaddr = NULL; dbCommon *precord = paddr->precord; - dbCommon *lockrecs[3]; + dbCommon *lockrecs[2]; dbLocker locker; dbFldDes *pfldDes = paddr->pfldDes; long special = paddr->special; @@ -959,7 +959,7 @@ static long dbPutFieldLink(DBADDR *paddr, int isDevLink; short scan; - STATIC_ASSERT(DBLOCKER_NALLOC>=3); + STATIC_ASSERT(DBLOCKER_NALLOC>=2); switch (dbrType) { case DBR_CHAR: @@ -1000,8 +1000,7 @@ static long dbPutFieldLink(DBADDR *paddr, memset(&locker, 0, sizeof(locker)); lockrecs[0] = precord; lockrecs[1] = pdbaddr ? pdbaddr->precord : NULL; - lockrecs[2] = NULL; - dbLockerPrepare(&locker, lockrecs, 3); + dbLockerPrepare(&locker, lockrecs, 2); dbScanLockMany(&locker); diff --git a/src/ioc/db/dbLockPvt.h b/src/ioc/db/dbLockPvt.h index d74562d49..d316ea359 100644 --- a/src/ioc/db/dbLockPvt.h +++ b/src/ioc/db/dbLockPvt.h @@ -70,7 +70,7 @@ typedef struct { lockSet *plockSet; } lockRecordRef; -#define DBLOCKER_NALLOC 3 +#define DBLOCKER_NALLOC 2 /* a dbLocker can only be used by a single thread. */ struct dbLocker { ELLLIST locked;