Version 5.4.0
[yaz-moved-to-github.git] / src / mutex.c
index aff0a13..c4dba48 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
  */
 
 #include <yaz/nmem.h>
 #include <yaz/log.h>
 #include <yaz/mutex.h>
-
+#include <yaz/gettimeofday.h>
 #ifdef WIN32
 #include <windows.h>
+#include <sys/timeb.h>
 #endif
+#include <time.h>
 
 #if HAVE_SYS_TIME_H
 #include <sys/time.h>
 #include <pthread.h>
 #endif
 
-struct yaz_mutex {
-#ifdef WIN32
-    CRITICAL_SECTION handle;
-#elif YAZ_POSIX_THREADS
-    pthread_mutex_t handle;
-#endif
-    char *name;
-    int log_level;
-};
+#include "mutex-p.h"
 
 void yaz_mutex_create(YAZ_MUTEX *p)
 {
@@ -80,7 +74,7 @@ void yaz_mutex_enter(YAZ_MUTEX p)
         EnterCriticalSection(&p->handle);
 #elif YAZ_POSIX_THREADS
         int r = 1; /* signal : not locked (yet) */
-        
+
         if (p->log_level)
         {   /* debugging */
             r = pthread_mutex_trylock(&p->handle);