From: VMware, Inc <> Date: Mon, 21 Nov 2011 23:35:22 +0000 (-0800) Subject: lib/lock: more juggling X-Git-Tag: 2011.11.20-535097~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f91586a1fa9259868e25f9380938eeb1f87e9f0e;p=thirdparty%2Fopen-vm-tools.git lib/lock: more juggling Trivial moves to get a bit change to be easy to review Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/lock/ulBarrier.c b/open-vm-tools/lib/lock/ulBarrier.c index 8f32ef60b..2b427b543 100644 --- a/open-vm-tools/lib/lock/ulBarrier.c +++ b/open-vm-tools/lib/lock/ulBarrier.c @@ -22,8 +22,6 @@ #include "userlock.h" #include "ulInt.h" -#define MXUSER_BARRIER_SIGNATURE 0x52524142 // 'BARR' in memory - struct BarrierContext { uint32 count; // Number of threads currently in this context @@ -156,7 +154,7 @@ MXUser_CreateBarrier(const char *userName, // IN: shall be known as barrier->configCount = count; barrier->curContext = 0; - barrier->header.signature = MXUSER_BARRIER_SIGNATURE; + barrier->header.signature = MXUSER_TYPE_BARRIER; barrier->header.name = properName; barrier->header.rank = rank; barrier->header.serialNumber = MXUserAllocSerialNumber(); @@ -189,7 +187,7 @@ void MXUser_DestroyBarrier(MXUserBarrier *barrier) // IN: { if (LIKELY(barrier != NULL)) { - MXUserValidateHeader(&barrier->header, MXUSER_BARRIER_SIGNATURE); + MXUserValidateHeader(&barrier->header, MXUSER_TYPE_BARRIER); if ((barrier->contexts[0].count != 0) || (barrier->contexts[1].count != 0)) { @@ -242,7 +240,7 @@ MXUser_EnterBarrier(MXUserBarrier *barrier) // IN/OUT: uint32 context; ASSERT(barrier); - MXUserValidateHeader(&barrier->header, MXUSER_BARRIER_SIGNATURE); + MXUserValidateHeader(&barrier->header, MXUSER_TYPE_BARRIER); MXUser_AcquireExclLock(barrier->lock); diff --git a/open-vm-tools/lib/lock/ulCondVar.c b/open-vm-tools/lib/lock/ulCondVar.c index 8569d848a..0b55264a6 100644 --- a/open-vm-tools/lib/lock/ulCondVar.c +++ b/open-vm-tools/lib/lock/ulCondVar.c @@ -55,8 +55,6 @@ struct MXUserCondVar { #endif }; -#define MXUSER_CONDVAR_SIGNATURE 0x444E4F43 // 'COND' in memory - #if defined(_WIN32) typedef VOID (WINAPI *InitializeConditionVariableFn)(PCONDITION_VARIABLE cv); typedef BOOL (WINAPI *SleepConditionVariableCSFn)(PCONDITION_VARIABLE cv, @@ -589,7 +587,7 @@ MXUserCreateCondVar(MXUserHeader *header, // IN: MXUserCondVar *condVar = Util_SafeCalloc(1, sizeof(*condVar)); if (MXUserCreateInternal(condVar)) { - condVar->signature = MXUSER_CONDVAR_SIGNATURE; + condVar->signature = MXUSER_TYPE_CONDVAR; condVar->header = header; condVar->ownerLock = lock; } else { @@ -626,7 +624,7 @@ MXUserWaitCondVar(MXUserHeader *header, // IN: { ASSERT(header); ASSERT(lock); - ASSERT(condVar && (condVar->signature == MXUSER_CONDVAR_SIGNATURE)); + ASSERT(condVar && (condVar->signature == MXUSER_TYPE_CONDVAR)); if (condVar->ownerLock != lock) { Panic("%s: invalid use of lock %s with condVar (%p; %s)\n", @@ -666,7 +664,7 @@ MXUser_SignalCondVar(MXUserCondVar *condVar) // IN: { int err; - ASSERT(condVar && (condVar->signature == MXUSER_CONDVAR_SIGNATURE)); + ASSERT(condVar && (condVar->signature == MXUSER_TYPE_CONDVAR)); err = MXUserSignalInternal(condVar); @@ -699,7 +697,7 @@ MXUser_BroadcastCondVar(MXUserCondVar *condVar) // IN: { int err; - ASSERT(condVar && (condVar->signature == MXUSER_CONDVAR_SIGNATURE)); + ASSERT(condVar && (condVar->signature == MXUSER_TYPE_CONDVAR)); err = MXUserBroadcastInternal(condVar); @@ -732,7 +730,7 @@ void MXUser_DestroyCondVar(MXUserCondVar *condVar) // IN: { if (condVar != NULL) { - ASSERT(condVar->signature == MXUSER_CONDVAR_SIGNATURE); + ASSERT(condVar->signature == MXUSER_TYPE_CONDVAR); if (Atomic_Read(&condVar->referenceCount) != 0) { Panic("%s: Attempted destroy on active condVar (%p; %s)\n", diff --git a/open-vm-tools/lib/lock/ulExcl.c b/open-vm-tools/lib/lock/ulExcl.c index 1aaea1bd7..06d155d23 100644 --- a/open-vm-tools/lib/lock/ulExcl.c +++ b/open-vm-tools/lib/lock/ulExcl.c @@ -24,8 +24,6 @@ #include "ulInt.h" #include "vm_atomic.h" -#define MXUSER_EXCL_SIGNATURE 0x58454B4C // 'LKEX' in memory - typedef struct { MXUserAcquisitionStats acquisitionStats; @@ -179,7 +177,7 @@ MXUser_ControlExclLock(MXUserExclLock *lock, // IN/OUT: Bool result; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); switch (command) { case MXUSER_CONTROL_ACQUISITION_HISTO: { @@ -303,7 +301,7 @@ MXUser_CreateExclLock(const char *userName, // IN: return NULL; } - lock->header.signature = MXUSER_EXCL_SIGNATURE; + lock->header.signature = MXUSER_TYPE_EXCL; lock->header.name = properName; lock->header.rank = rank; lock->header.serialNumber = MXUserAllocSerialNumber(); @@ -344,7 +342,7 @@ MXUser_DestroyExclLock(MXUserExclLock *lock) // IN: if (lock != NULL) { MXUserStats *stats; - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); if (MXRecLockCount(&lock->recursiveLock) > 0) { MXUserDumpAndPanic(&lock->header, @@ -398,7 +396,7 @@ MXUser_AcquireExclLock(MXUserExclLock *lock) // IN/OUT: MXUserStats *stats; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); stats = (MXUserStats *) Atomic_ReadPtr(&lock->statsMem); @@ -462,7 +460,7 @@ MXUser_ReleaseExclLock(MXUserExclLock *lock) // IN/OUT: MXUserStats *stats; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); stats = (MXUserStats *) Atomic_ReadPtr(&lock->statsMem); @@ -523,7 +521,7 @@ MXUser_TryAcquireExclLock(MXUserExclLock *lock) // IN/OUT: MXUserStats *stats; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); if (MXUserTryAcquireFail(lock->header.name)) { return FALSE; @@ -573,7 +571,7 @@ Bool MXUser_IsCurThreadHoldingExclLock(MXUserExclLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); return MXRecLockIsOwner(&lock->recursiveLock); } @@ -647,7 +645,7 @@ MXUserCondVar * MXUser_CreateCondVarExclLock(MXUserExclLock *lock) { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); return MXUserCreateCondVar(&lock->header, &lock->recursiveLock); } @@ -677,7 +675,7 @@ MXUser_WaitCondVarExclLock(MXUserExclLock *lock, // IN: MXUserCondVar *condVar) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); MXUserWaitCondVar(&lock->header, &lock->recursiveLock, condVar, MXUSER_WAIT_INFINITE); @@ -709,7 +707,7 @@ MXUser_TimedWaitCondVarExclLock(MXUserExclLock *lock, // IN: uint32 msecWait) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_EXCL); MXUserWaitCondVar(&lock->header, &lock->recursiveLock, condVar, msecWait); } diff --git a/open-vm-tools/lib/lock/ulInt.h b/open-vm-tools/lib/lock/ulInt.h index 583499717..063542719 100644 --- a/open-vm-tools/lib/lock/ulInt.h +++ b/open-vm-tools/lib/lock/ulInt.h @@ -391,6 +391,13 @@ MXUserGetThreadID(void) return (void *) (uintptr_t) VThread_CurID(); // unsigned } +#define MXUSER_TYPE_RW 0x57524B4C // 'LKRW' in memory +#define MXUSER_TYPE_REC 0x43524B4C // 'LKRC' in memory +#define MXUSER_TYPE_RANK 0x4E4B5241 // 'RANK' in memory +#define MXUSER_TYPE_EXCL 0x58454B4C // 'LKEX' in memory +#define MXUSER_TYPE_SEMA 0x414D4553 // 'SEMA' in memory +#define MXUSER_TYPE_CONDVAR 0x444E4F43 // 'COND' in memory +#define MXUSER_TYPE_BARRIER 0x52524142 // 'BARR' in memory /* * MXUser header - all MXUser objects start with this diff --git a/open-vm-tools/lib/lock/ulRW.c b/open-vm-tools/lib/lock/ulRW.c index 9e31253bd..3d21b1f18 100644 --- a/open-vm-tools/lib/lock/ulRW.c +++ b/open-vm-tools/lib/lock/ulRW.c @@ -29,8 +29,6 @@ #include "hostinfo.h" #include "ulInt.h" -#define MXUSER_RW_SIGNATURE 0x57524B4C // 'LKRW' in memory - static void MXUserFreeHashEntry(void *data) // IN: { @@ -404,7 +402,7 @@ MXUser_ControlRWLock(MXUserRWLock *lock, // IN/OUT: Bool result; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_RW); switch (command) { case MXUSER_CONTROL_ACQUISITION_HISTO: { @@ -531,7 +529,7 @@ MXUser_CreateRWLock(const char *userName, // IN: properName = Util_SafeStrdup(userName); } - lock->header.signature = MXUSER_RW_SIGNATURE; + lock->header.signature = MXUSER_TYPE_RW; lock->header.name = properName; lock->header.rank = rank; lock->header.serialNumber = MXUserAllocSerialNumber(); @@ -596,7 +594,7 @@ MXUser_DestroyRWLock(MXUserRWLock *lock) // IN: if (LIKELY(lock != NULL)) { MXUserStats *stats; - MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_RW); if (Atomic_Read(&lock->holderCount) != 0) { MXUserDumpAndPanic(&lock->header, @@ -708,7 +706,7 @@ MXUserAcquisition(MXUserRWLock *lock, // IN/OUT: HolderContext *myContext; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_RW); MXUserAcquisitionTracking(&lock->header, TRUE); @@ -857,7 +855,7 @@ MXUser_IsCurThreadHoldingRWLock(MXUserRWLock *lock, // IN: HolderContext *myContext; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_RW); myContext = MXUserGetHolderContext(lock); @@ -900,7 +898,7 @@ MXUser_ReleaseRWLock(MXUserRWLock *lock) // IN/OUT: HolderContext *myContext; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_RW); myContext = MXUserGetHolderContext(lock); diff --git a/open-vm-tools/lib/lock/ulRec.c b/open-vm-tools/lib/lock/ulRec.c index 0da8c2aaa..ff5e75805 100644 --- a/open-vm-tools/lib/lock/ulRec.c +++ b/open-vm-tools/lib/lock/ulRec.c @@ -35,8 +35,6 @@ typedef struct Atomic_Ptr heldHisto; } MXUserStats; -#define MXUSER_REC_SIGNATURE 0x43524B4C // 'LKRC' in memory - struct MXUserRecLock { MXUserHeader header; @@ -199,7 +197,7 @@ MXUser_ControlRecLock(MXUserRecLock *lock, // IN/OUT: Bool result; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); @@ -335,7 +333,7 @@ MXUserCreateRecLock(const char *userName, // IN: lock->vmmLock = NULL; Atomic_Write(&lock->refCount, 1); - lock->header.signature = MXUSER_REC_SIGNATURE; + lock->header.signature = MXUSER_TYPE_REC; lock->header.name = properName; lock->header.rank = rank; lock->header.serialNumber = MXUserAllocSerialNumber(); @@ -434,7 +432,7 @@ static void MXUserCondDestroyRecLock(MXUserRecLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); if (Atomic_FetchAndDec(&lock->refCount) == 1) { if (lock->vmmLock == NULL) { @@ -500,7 +498,7 @@ void MXUser_AcquireRecLock(MXUserRecLock *lock) // IN/OUT: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); @@ -567,7 +565,7 @@ void MXUser_ReleaseRecLock(MXUserRecLock *lock) // IN/OUT: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); @@ -644,7 +642,7 @@ MXUser_TryAcquireRecLock(MXUserRecLock *lock) // IN/OUT: Bool success; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); @@ -706,7 +704,7 @@ MXUser_IsCurThreadHoldingRecLock(MXUserRecLock *lock) // IN: Bool result; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); @@ -795,7 +793,7 @@ MXUser_CreateCondVarRecLock(MXUserRecLock *lock) MXUserCondVar *condVar; ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); ASSERT(lock->vmmLock == NULL); // only unbound locks Atomic_Inc(&lock->refCount); @@ -834,7 +832,7 @@ MXUser_WaitCondVarRecLock(MXUserRecLock *lock, // IN: MXUserCondVar *condVar) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); ASSERT(lock->vmmLock == NULL); // only unbound locks Atomic_Inc(&lock->refCount); @@ -873,7 +871,7 @@ MXUser_TimedWaitCondVarRecLock(MXUserRecLock *lock, // IN: uint32 msecWait) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); ASSERT(lock->vmmLock == NULL); // only unbound locks Atomic_Inc(&lock->refCount); @@ -906,7 +904,7 @@ void MXUser_DumpRecLock(MXUserRecLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); @@ -938,7 +936,7 @@ struct MX_MutexRec * MXUser_GetRecLockVmm(MXUserRecLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); return lock->vmmLock; } @@ -964,7 +962,7 @@ MX_Rank MXUser_GetRecLockRank(MXUserRecLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); return lock->header.rank; } @@ -1016,7 +1014,7 @@ MXUser_BindMXMutexRec(struct MX_MutexRec *mutex, // IN: lock = Util_SafeCalloc(1, sizeof(*lock)); - lock->header.signature = MXUSER_REC_SIGNATURE; + lock->header.signature = MXUSER_TYPE_REC; lock->header.name = Str_SafeAsprintf(NULL, "MX_%p", mutex); lock->header.rank = rank; lock->header.serialNumber = MXUserAllocSerialNumber(); @@ -1053,7 +1051,7 @@ void MXUser_IncRefRecLock(MXUserRecLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); Atomic_Inc(&lock->refCount); } @@ -1080,7 +1078,7 @@ void MXUser_DecRefRecLock(MXUserRecLock *lock) // IN: { ASSERT(lock); - MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE); + MXUserValidateHeader(&lock->header, MXUSER_TYPE_REC); MXUserCondDestroyRecLock(lock); } diff --git a/open-vm-tools/lib/lock/ulSema.c b/open-vm-tools/lib/lock/ulSema.c index 992a69e4a..f1f4a2547 100644 --- a/open-vm-tools/lib/lock/ulSema.c +++ b/open-vm-tools/lib/lock/ulSema.c @@ -44,7 +44,6 @@ #include "win32u.h" #endif -#define MXUSER_SEMA_SIGNATURE 0x414D4553 // 'SEMA' in memory #define MXUSER_A_BILLION (1000 * 1000 * 1000) #if defined(_WIN32) @@ -515,7 +514,7 @@ MXUser_CreateSemaphore(const char *userName, // IN: if (LIKELY(MXUserInit(&sema->nativeSemaphore) == 0)) { MXUserStats *stats; - sema->header.signature = MXUSER_SEMA_SIGNATURE; + sema->header.signature = MXUSER_TYPE_SEMA; sema->header.name = properName; sema->header.rank = rank; sema->header.serialNumber = MXUserAllocSerialNumber(); @@ -568,7 +567,7 @@ MXUser_DestroySemaphore(MXUserSemaphore *sema) // IN: int err; MXUserStats *stats; - MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE); + MXUserValidateHeader(&sema->header, MXUSER_TYPE_SEMA); if (Atomic_Read(&sema->activeUserCount) != 0) { MXUserDumpAndPanic(&sema->header, @@ -628,7 +627,7 @@ MXUser_DownSemaphore(MXUserSemaphore *sema) // IN/OUT: MXUserStats *stats; ASSERT(sema); - MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE); + MXUserValidateHeader(&sema->header, MXUSER_TYPE_SEMA); Atomic_Inc(&sema->activeUserCount); @@ -704,7 +703,7 @@ MXUser_TimedDownSemaphore(MXUserSemaphore *sema, // IN/OUT: Bool downOccurred = FALSE; ASSERT(sema); - MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE); + MXUserValidateHeader(&sema->header, MXUSER_TYPE_SEMA); Atomic_Inc(&sema->activeUserCount); @@ -788,7 +787,7 @@ MXUser_TryDownSemaphore(MXUserSemaphore *sema) // IN/OUT: Bool downOccurred = FALSE; ASSERT(sema); - MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE); + MXUserValidateHeader(&sema->header, MXUSER_TYPE_SEMA); Atomic_Inc(&sema->activeUserCount); @@ -835,7 +834,7 @@ MXUser_UpSemaphore(MXUserSemaphore *sema) // IN/OUT: int err; ASSERT(sema); - MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE); + MXUserValidateHeader(&sema->header, MXUSER_TYPE_SEMA); Atomic_Inc(&sema->activeUserCount);