diff --git a/src/logger.cpp b/src/logger.cpp index 97b19b3a..bb14d055 100644 --- a/src/logger.cpp +++ b/src/logger.cpp @@ -1,6 +1,7 @@ #include "common.hpp" #include "asset.hpp" #include +#include namespace rack { @@ -9,6 +10,7 @@ namespace logger { static FILE *outputFile = NULL; static std::chrono::high_resolution_clock::time_point startTime; +static std::mutex logMutex; void init(bool devMode) { @@ -43,6 +45,8 @@ static const int levelColors[] = { }; static void logVa(Level level, const char *filename, int line, const char *format, va_list args) { + std::lock_guard lock(logMutex); + auto nowTime = std::chrono::high_resolution_clock::now(); int duration = std::chrono::duration_cast(nowTime - startTime).count(); if (outputFile == stderr)