From: Ian Jackson Date: Mon, 15 Aug 2022 16:37:43 +0000 (+0100) Subject: prefork-interp: Logging directability X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=6fc66aebbbe5a741d9d2c7484fa4eae71d4fb233;p=chiark-utils.git prefork-interp: Logging directability Signed-off-by: Ian Jackson --- diff --git a/perl/Prefork.pm b/perl/Prefork.pm index d79eb5b..b07a2e7 100644 --- a/perl/Prefork.pm +++ b/perl/Prefork.pm @@ -16,10 +16,15 @@ our $env_name = 'PREFORK_INTERP'; our @call_fds; our $socket_path; +our $fail_log = 0; sub fail_log ($) { my ($m) = @_; - syslog(LOG_ERR, "$0: prefork [$$]: error: $m"); + if ($fail_log) { + syslog(LOG_ERR, "$0: prefork [$$]: error: $m"); + } else { + croak "$0: prefork: initialisation error: $m"; + } _exit 127; } @@ -166,6 +171,7 @@ sub initialisation_complete { # --- server(pm) [2] ---- + $fail_log = 1; setsid() > 0 or fail_log("setsid: $!"); open STDIN, "<&NULL" or fail_log("dup null onto stdin: $!"); open STDOUT, ">&NULL" or fail_log("dup null onto stdout: $!");