Happy new year
[yaz-moved-to-github.git] / src / mutex.c
index aeaf221..2ed3afc 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) 1995-2011 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)
 {
@@ -100,7 +94,7 @@ void yaz_mutex_enter(YAZ_MUTEX p)
                 d = 1000000LL * ((long long) tv2.tv_sec - tv1.tv_sec) +
                     tv2.tv_usec - tv1.tv_usec;
                 yaz_log(p->log_level, "yaz_mutex_enter: %p tid=%p name=%s "
-                        "lock delay=%lld",
+                        "lock delay %lld",
                         p, (void *) pthread_self(), p->name, d);
 #endif
             }