From c1180e3390c4b91104a90fdbcb404f699b94a678 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 15 Aug 2022 17:41:39 +0100 Subject: [PATCH] prefork-interp: Break out forked_monitor prep for new protocol. Signed-off-by: Ian Jackson --- perl/Prefork.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/perl/Prefork.pm b/perl/Prefork.pm index b3c3acb..bb39265 100644 --- a/perl/Prefork.pm +++ b/perl/Prefork.pm @@ -54,6 +54,13 @@ sub become_monitor () { _exit(0); } +sub forked_monitor () { + close LISTEN; + eval { protocol_exchange(); 1; } + or fail_log("protocol exchange failed: $@"); + return become_monitor(); +} + sub close_call_fds () { foreach (@call_fds) { next if $_ <= 2; @@ -216,10 +223,7 @@ sub initialisation_complete { $child = fork // fail_log("fork for accepted call failed: $!"); if (!$child) { #---- monitor [1] ---- - close LISTEN; - eval { protocol_exchange(); 1; } - or fail_log("protocol exchange failed: $@"); - return become_monitor(); + forked_monitor(); } close(CALL); $errcount = 0; -- 2.30.2