]> git.itanic.dy.fi Git - rrdd/blobdiff - utils.h
Refactor mutex code to utils.h
[rrdd] / utils.h
diff --git a/utils.h b/utils.h
index 40c212d93b4c67a90f5f36cc128aecb9007d7f28..cdb082f3b5ea1fcfe7f495742d5f4a56c23c5f01 100644 (file)
--- a/utils.h
+++ b/utils.h
@@ -1,9 +1,28 @@
 #ifndef _UTILS_H_
 #define _UTILS_H_
 
+#include <pthread.h>
+
 #define min(a, b) ((a) < (b) ? (a) : (b))
 #define max(a,b) (a) < (b) ? (b) : (a)
 
 #define ARRAY_SIZE(a) (sizeof(a) / (sizeof((a)[0])))
 
+struct mutex {
+       pthread_mutex_t lock;
+       int line;
+       char *file;
+       char owner_name[16];
+       time_t lock_time;
+       char *name;
+};
+
+void _mutex_lock_acquired(struct mutex *lock, char *file, int line);
+int _mutex_lock(struct mutex *lock, char *file, int line);
+int _mutex_unlock(struct mutex *lock);
+
+#define mutex_lock(lock) _mutex_lock(lock, __FILE__, __LINE__)
+#define mutex_unlock(lock) _mutex_unlock(lock)
+#define mutex_lock_acquired(lock) _mutex_lock_acquired(lock, __FILE__, __LINE__)
+
 #endif