diff options
Diffstat (limited to 'include/debug.h')
-rw-r--r-- | include/debug.h | 11 |
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 |