]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
lib/lock: pretty up some code
authorVMware, Inc <>
Mon, 26 Jul 2010 18:48:58 +0000 (11:48 -0700)
committerMarcelo Vanzin <mvanzin@vmware.com>
Mon, 26 Jul 2010 18:48:58 +0000 (11:48 -0700)
Clean up some code; make the barrier singleton look like the
other singleton codes.

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

index ba01a770fc19bfe452f1584265fe4f47c71add7a..09cbdd5a134e8c8f321602157c7a601f50c03dda 100644 (file)
@@ -267,18 +267,16 @@ MXUser_CreateSingletonBarrier(Atomic_Ptr *barrierStorage,  // IN/OUT:
    barrier = (MXUserBarrier *) Atomic_ReadPtr(barrierStorage);
 
    if (UNLIKELY(barrier == NULL)) {
-      MXUserBarrier *before;
+      MXUserBarrier *newBarrier = MXUser_CreateBarrier(name, rank, count);
 
-      barrier = MXUser_CreateBarrier(name, rank, count);
+      barrier = (MXUserBarrier *) Atomic_ReadIfEqualWritePtr(barrierStorage,
+                                                             NULL,
+                                                           (void *) newBarrier);
 
-      before = (MXUserBarrier *) Atomic_ReadIfEqualWritePtr(barrierStorage,
-                                                            NULL,
-                                                            (void *) barrier);
-
-      if (before) {
-         MXUser_DestroyBarrier(barrier);
-
-         barrier = before;
+      if (barrier) {
+         MXUser_DestroyBarrier(newBarrier);
+      } else {
+         barrier = (MXUserBarrier *) Atomic_ReadPtr(barrierStorage);
       }
    }
 
index 7a4ecb1e08e7bf6c71640ffdc680c9caafda4005..68f73ea76dc48a5999da8415c0889b5f44b9d3d9 100644 (file)
@@ -543,9 +543,7 @@ MXUser_CreateSingletonExclLock(Atomic_Ptr *lockStorage,  // IN/OUT:
    lock = (MXUserExclLock *) Atomic_ReadPtr(lockStorage);
 
    if (UNLIKELY(lock == NULL)) {
-      MXUserExclLock *newLock;
-
-      newLock = MXUser_CreateExclLock(name, rank);
+      MXUserExclLock *newLock = MXUser_CreateExclLock(name, rank);
 
       lock = (MXUserExclLock *) Atomic_ReadIfEqualWritePtr(lockStorage, NULL,
                                                            (void *) newLock);
index c3cca9925f5649956117eeb4d078cee8263dd194..13abba985e137e6a11d8daf1ead7b093ced5e0d3 100644 (file)
@@ -875,9 +875,7 @@ MXUser_CreateSingletonRWLock(Atomic_Ptr *lockStorage,  // IN/OUT:
    lock = (MXUserRWLock *) Atomic_ReadPtr(lockStorage);
 
    if (UNLIKELY(lock == NULL)) {
-      MXUserRWLock *newLock;
-
-      newLock = MXUser_CreateRWLock(name, rank);
+      MXUserRWLock *newLock = MXUser_CreateRWLock(name, rank);
 
       lock = (MXUserRWLock *) Atomic_ReadIfEqualWritePtr(lockStorage, NULL,
                                                          (void *) newLock);
index fbf51dd8e7fdf7f77749b0cf9b4f01c373ad266a..e649226a8d675b0a1a918e0567c6159797840f21 100644 (file)
@@ -581,9 +581,7 @@ MXUser_CreateSingletonRecLock(Atomic_Ptr *lockStorage,  // IN/OUT:
    lock = (MXUserRecLock *) Atomic_ReadPtr(lockStorage);
 
    if (UNLIKELY(lock == NULL)) {
-      MXUserRecLock *newLock;
-
-      newLock = MXUser_CreateRecLock(name, rank);
+      MXUserRecLock *newLock = MXUser_CreateRecLock(name, rank);
 
       lock = (MXUserRecLock *) Atomic_ReadIfEqualWritePtr(lockStorage, NULL,
                                                           (void *) newLock);
index 7dfe5e3c24acf389a2764d0ba3e4d1a95d1e91c0..00bbc0cbf4f4e2b69661677afbccb1fe9be11142 100644 (file)
@@ -851,9 +851,7 @@ MXUser_CreateSingletonSemaphore(Atomic_Ptr *semaStorage,  // IN/OUT:
    sema = (MXUserSemaphore *) Atomic_ReadPtr(semaStorage);
 
    if (UNLIKELY(sema == NULL)) {
-      MXUserSemaphore *newSema;
-
-      newSema = MXUser_CreateSemaphore(name, rank);
+      MXUserSemaphore *newSema = MXUser_CreateSemaphore(name, rank);
 
       sema = (MXUserSemaphore *) Atomic_ReadIfEqualWritePtr(semaStorage,
                                                             NULL,