X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Flog.c;h=4dc53f78124b08c621abd33f8123b31fa7e77309;hb=f3ca90e517a9ae54e831e5a5b91fcc2afb9df5bf;hp=02cadd200d7bc6dd8f5460f19435d11af16c4d67;hpb=62bffb28964ae13d193414f747a25703a2583f77;p=tlsproxy%2Ftlsproxy.git diff --git a/src/log.c b/src/log.c index 02cadd2..4dc53f7 100644 --- a/src/log.c +++ b/src/log.c @@ -35,7 +35,7 @@ void log_message(int level, const char *file, int line, const char *format, ...) switch (level) { case LOG_ERROR_LEVEL: level_string = "ERROR"; break; case LOG_WARNING_LEVEL: level_string = "WARN "; break; - case LOG_DEBUG_LEVEL: level_string = "DEBUG"; break; + case LOG_DEBUG1_LEVEL: level_string = "DEBUG"; break; default: level_string = "UNKNOWN"; } @@ -45,8 +45,10 @@ void log_message(int level, const char *file, int line, const char *format, ...) (void)line; #endif - va_start(ap, format); - fprintf(stdout, + /* Prevent another thread from interrupting the two printfs(). */ + flockfile(stderr); + + fprintf(stderr, #ifdef DEBUG "%-12s:%-3d " #endif @@ -55,7 +57,10 @@ void log_message(int level, const char *file, int line, const char *format, ...) file, line, #endif level_string, (int)pthread_self()); - vfprintf(stdout, format, ap); - fprintf(stdout, "\n"); + va_start(ap, format); + vfprintf(stderr, format, ap); va_end(ap); + fprintf(stderr, "\n"); + + funlockfile(stderr); }