dbAccess.c: dbLocker needs at most two refs

This commit is contained in:
Michael Davidsaver
2015-03-24 14:18:11 -04:00
parent a78abd0070
commit 58a8a07cc4
2 changed files with 4 additions and 5 deletions

View File

@@ -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);

View File

@@ -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;