util: Don't use rx-internal locking macros
authorSimon Wilkinson <sxw@your-file-system.com>
Wed, 22 Aug 2012 08:31:03 +0000 (09:31 +0100)
committerDerrick Brashear <shadow@dementix.org>
Tue, 4 Sep 2012 13:54:12 +0000 (06:54 -0700)
The MUTEX_INIT, MUTEX_ENTER, MUTEX_EXIT and MUTEX_DESTROY macros
are intended for RX internal use only (they're an abstraction
interface so that the same locking code can be used in userspace and
in the kernel). They aren't appropriate for general purpose use.

Just use pthread calls directly for the serverLog locks.

Change-Id: I8373eaa097c36f7d3a4c9b0501fc5e897372582e
Reviewed-on: http://gerrit.openafs.org/8031
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/util/serverLog.c

index f7bbb5c..98211a4 100644 (file)
 #include <lwp.h>
 
 #if defined(AFS_PTHREAD_ENV)
-/* can't include rx when we are libutil; it's too early */
-#include <rx/rx.h>
 #include <pthread.h>
 static pthread_mutex_t serverLogMutex;
-#define LOCK_SERVERLOG() MUTEX_ENTER(&serverLogMutex)
-#define UNLOCK_SERVERLOG() MUTEX_EXIT(&serverLogMutex)
+#define LOCK_SERVERLOG() opr_Verify(pthread_mutex_lock(&serverLogMutex) == 0);
+#define UNLOCK_SERVERLOG() opr_Verify(pthread_mutex_unlock(&serverLogMutex) == 0);
 
 #ifdef AFS_NT40_ENV
 #define NULLDEV "NUL"
@@ -340,7 +338,7 @@ OpenLog(const char *fileName)
 #endif
 
 #if defined(AFS_PTHREAD_ENV)
-    MUTEX_INIT(&serverLogMutex, "serverlog", MUTEX_DEFAULT, 0);
+    opr_Verify(pthread_mutex_init(&serverLogMutex, NULL) == 0);
 #endif /* AFS_PTHREAD_ENV */
 
     serverLogFD = tempfd;