]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
lib/lock: more juggling
authorVMware, Inc <>
Mon, 21 Nov 2011 23:35:22 +0000 (15:35 -0800)
committerMarcelo Vanzin <mvanzin@vmware.com>
Mon, 21 Nov 2011 23:35:22 +0000 (15:35 -0800)
Trivial moves to get a bit change to be easy to review

Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/lock/ulBarrier.c
open-vm-tools/lib/lock/ulCondVar.c
open-vm-tools/lib/lock/ulExcl.c
open-vm-tools/lib/lock/ulInt.h
open-vm-tools/lib/lock/ulRW.c
open-vm-tools/lib/lock/ulRec.c
open-vm-tools/lib/lock/ulSema.c

index 8f32ef60bf405b86a6da4ea9da53cdfa54df3afd..2b427b543472defc34dd6316af3755c2c2561649 100644 (file)
@@ -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);
 
index 8569d848a1fb7b16b1ed02cc1ae81637f27d3b73..0b55264a633066d09616e9057f94e740712678c4 100644 (file)
@@ -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",
index 1aaea1bd72a9dc5b8fee8e1f2350ffbd04ae2453..06d155d23a2a6edbfafac1888c089371cb9a74c7 100644 (file)
@@ -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);
 }
index 58349971732a8f324aed188798e15b0eb13c8d34..063542719df9464513137ea2f3341e9059f62008 100644 (file)
@@ -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
index 9e31253bd49a156464670da5791a177ea543e8e2..3d21b1f18e93583c185185ef522342d29c6eb6a1 100644 (file)
@@ -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);
 
index 0da8c2aaaa29983b42bb20a2e9bec0b4eedd3495..ff5e75805b3ffc00c1d1d275727da2b032c75e61 100644 (file)
@@ -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);
 }
index 992a69e4a0963cbcc6186a769b0f9d1ae2674e35..f1f4a254784591a1d418d6b1de4f31b8cc451291 100644 (file)
@@ -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);