X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Flog.c;h=05acddfc8b98b5d8fcb37f89f1974b47d32c59b1;hb=53e159fbb77f259b885a759aa5884564140e2f62;hp=02cadd200d7bc6dd8f5460f19435d11af16c4d67;hpb=62bffb28964ae13d193414f747a25703a2583f77;p=tlsproxy%2Ftlsproxy.git diff --git a/src/log.c b/src/log.c index 02cadd2..05acddf 100644 --- a/src/log.c +++ b/src/log.c @@ -45,7 +45,9 @@ void log_message(int level, const char *file, int line, const char *format, ...) (void)line; #endif - va_start(ap, format); + /* Prevent another thread from interrupting the two printfs(). */ + flockfile(stdout); + fprintf(stdout, #ifdef DEBUG "%-12s:%-3d " @@ -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()); + va_start(ap, format); vfprintf(stdout, format, ap); - fprintf(stdout, "\n"); va_end(ap); + fprintf(stdout, "\n"); + + funlockfile(stdout); }