diff --git a/BAN/include/BAN/Debug.h b/BAN/include/BAN/Debug.h index 2c9e656c..bb5c9250 100644 --- a/BAN/include/BAN/Debug.h +++ b/BAN/include/BAN/Debug.h @@ -9,29 +9,35 @@ #include #include -#define __debug_putchar [](int c) { putc(c, stddbg); } +#define __debug_putchar [](int c) { putc_unlocked(c, stddbg); } #define dprintln(...) \ do { \ + flockfile(stddbg); \ BAN::Formatter::print(__debug_putchar, __VA_ARGS__); \ BAN::Formatter::print(__debug_putchar,"\n"); \ fflush(stddbg); \ + funlockfile(stddbg); \ } while (false) #define dwarnln(...) \ do { \ + flockfile(stddbg); \ BAN::Formatter::print(__debug_putchar, "\e[33m"); \ BAN::Formatter::print(__debug_putchar, __VA_ARGS__); \ BAN::Formatter::print(__debug_putchar, "\e[m\n"); \ fflush(stddbg); \ + funlockfile(stddbg); \ } while(false) #define derrorln(...) \ do { \ + flockfile(stddbg); \ BAN::Formatter::print(__debug_putchar, "\e[31m"); \ BAN::Formatter::print(__debug_putchar, __VA_ARGS__); \ BAN::Formatter::print(__debug_putchar, "\e[m\n"); \ fflush(stddbg); \ + funlockfile(stddbg); \ } while(false) #define dprintln_if(cond, ...) \