From d73839b53a90e28e5d65e2854b29f44c5f613b26 Mon Sep 17 00:00:00 2001 From: Alexey Chernobaev Date: Wed, 29 Aug 2018 20:27:22 +0300 Subject: [PATCH] repeat to actual stderr output in log_system_error_and_exit() --- profctl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/profctl.c b/profctl.c index 1d1951f..7241ac4 100644 --- a/profctl.c +++ b/profctl.c @@ -48,6 +48,8 @@ static char *oname = NULL; static int isPipeOwner = 0; +static FILE *orig_stderr = NULL; + static int controlPort = -1; static int dataPort = -1; static int statPort = -1; @@ -117,6 +119,10 @@ static void log_system_error(const char *msg) static void log_system_error_and_exit(const char *msg) { log_prefixed_system_error("[FATAL] ", msg); + if ((orig_stderr != NULL) && (orig_stderr != stderr)) { // repeat to actual stderr + stderr = orig_stderr; + log_prefixed_system_error("[FATAL] ", msg); + } exit(1); } @@ -658,6 +664,7 @@ int main(int argc, char **argv) log_system_error_and_exit("freopen"); } setlinebuf(redir_stderr); + orig_stderr = stderr; stderr = redir_stderr; if (verbose) { -- 2.34.1