From 0db323765981da522601e213393370309c4ebac8 Mon Sep 17 00:00:00 2001 From: Dmitry Karasik Date: Sun, 18 Aug 2024 23:06:47 +0200 Subject: [PATCH] don't execute random perl code in forked child processes see the use case in https://github.com/dk/Prima/issues/114 --- perldl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/perldl b/perldl index 4d38822d0..aea8c868a 100755 --- a/perldl +++ b/perldl @@ -218,14 +218,15 @@ push @enabled, "MultiLines"; my $interrupt_handle = eval 'use Sys::SigAction qw(set_sig_handler); 1'; my $interrupt_msg = "Ctrl-C detected"; +my $pid = $$; if ($interrupt_handle) { push @enabled, "Interrupt"; } else { - $SIG{'INT'} = sub { die "$interrupt_msg\n" }; # Ctrl-C handler + $SIG{'INT'} = sub { die "$interrupt_msg\n" if $$ == $pid }; # Ctrl-C handler } sub mksighandle { $interrupt_handle ? set_sig_handler(INT => sub { - die "$interrupt_msg\n"; + die "$interrupt_msg\n" if $$ == $pid; }) : undef; }