From 3c6ffef681f366214fdc970488e21aa89caab992 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sun, 28 Jan 2001 21:40:27 +0000 Subject: [PATCH] Don't log pid until log_fork() is called. --- lib/log.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/log.c b/lib/log.c index bc74de5b..4d81e85d 100644 --- a/lib/log.c +++ b/lib/log.c @@ -13,13 +13,13 @@ #include #include -static byte *log_progname; +static char *log_progname; static pid_t log_pid; void log_fork(void) { - log_pid = 0; + log_pid = getpid(); } static void @@ -27,14 +27,23 @@ vlog(unsigned int cat, const char *msg, va_list args) { time_t tim = time(NULL); struct tm *tm = localtime(&tim); + char *prog = log_progname ?: "?"; char buf[32]; - if (!log_pid) - log_pid = getpid(); strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", tm); fprintf(stderr, "%c %s ", cat, buf); if (log_progname) - fprintf(stderr, "[%s (%d)] ", log_progname, log_pid); + { + if (log_pid) + fprintf(stderr, "[%s (%d)] ", log_progname, log_pid); + else + fprintf(stderr, "[%s] ", log_progname); + } + else + { + if (log_pid) + fprintf(stderr, "[%d] ", log_pid); + } vfprintf(stderr, msg, args); fputc('\n', stderr); fflush(stderr); -- 2.39.2