From 6a7fad24b01692f58efb667aab9187af1b138dd0 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 11 Aug 2022 20:49:17 +0100 Subject: [PATCH] prefork-interp: fixes and tests Signed-off-by: Ian Jackson --- perl/Prefork.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/perl/Prefork.pm b/perl/Prefork.pm index 4798563..8de4aaf 100644 --- a/perl/Prefork.pm +++ b/perl/Prefork.pm @@ -5,8 +5,9 @@ our @ISA = qw(Exporter); our @EXPORT = qw(initialisation_complete); use Carp; -use POSIX; use Fcntl qw(F_GETFL F_SETFL O_NONBLOCK); +use POSIX; +use Sys::Syslog; our $logger; @@ -23,7 +24,7 @@ sub server_quit ($) { # Returns in the executor process sub become_monitor () { - my $child = fork // fail("fork executor: $!");or + my $child = fork // fail("fork executor: $!"); if (!$child) { #---- executor ---- open ::STDIN , "<& $call_fds[0]" or fail("dup for fd0"); @@ -115,8 +116,8 @@ sub initialisation_complete { foreach (@env_params) { $_ eq ($_+0) or croak "$env_name contains $_, not a number"; } - open LISTEN, "<>&=$env_params[0]" or croak "listen fd: $!"; - open CALL, "<>&=$env_params[1]" or croak "listen fd: $!"; + open LISTEN, "+>&=$env_params[0]" or croak "listen fd: $!"; + open CALL, "+>&=$env_params[1]" or croak "listen fd: $!"; @call_fds = ($env_params[2], $env_params[3], 2); if (!$opts{no_openlog}) { @@ -124,7 +125,7 @@ sub initialisation_complete { $opts{log_facility} // 'log_user'); } - open NULL, "<>/dev/null" or croak "open /dev/null: $!"; + open NULL, "+>/dev/null" or croak "open /dev/null: $!"; #---- fork for server ---- -- 2.30.2