summaryrefslogtreecommitdiff
path: root/include/debug.h
diff options
context:
space:
mode:
authorUlf Lilleengen <lulf@pvv.ntnu.no>2008-09-07 13:24:31 +0200
committerUlf Lilleengen <lulf@pvv.ntnu.no>2008-09-07 13:24:31 +0200
commitc74bd922870214c48ac5d032f13b0751ef32be59 (patch)
tree4482c8fc302a3fa35a8aed82e2e10c0b92584c8f /include/debug.h
parent2cbb65112e9fb20a3532e0cf7b8ba49a44e0b024 (diff)
- Fix serialization of debug printouts.
- Add a MFS_DB_LOCK/UNLOCK which handles locking of the SQLITE database if SQLITE_THREADED compile option is not specified. - Remove duplicate open/close of database during initial scan.
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