summaryrefslogtreecommitdiff
path: root/include/debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/debug.h')
-rw-r--r--include/debug.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/debug.h b/include/debug.h
index a30af63..350a27e 100644
--- a/include/debug.h
+++ b/include/debug.h
@@ -25,10 +25,15 @@
#ifdef DEBUGGING
# include <stdio.h>
# define DEBUGPATH "debug.txt"
+extern pthread_mutex_t __debug_lock__;
FILE *__debug_handle__;
-# define DEBUG(...) __debug_handle__ = fopen(DEBUGPATH, "a"); \
- fprintf (__debug_handle__, __VA_ARGS__); \
- fclose(__debug_handle__);
+# define DEBUG(...) do { \
+ pthread_mutex_lock(&__debug_lock__); \
+ __debug_handle__ = fopen(DEBUGPATH, "a"); \
+ fprintf (__debug_handle__, __VA_ARGS__); \
+ fclose(__debug_handle__); \
+ pthread_mutex_unlock(&__debug_lock__); \
+ } while (0)
#else
# define DEBUG(...)
#endif