From b90e8d6e02852c47d0c08198d8c7afb5dbe008d7 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 10 Jan 2021 12:15:00 +0000 Subject: ds: block signals when reaping This lets us call dwaitpid long before a process exits and not have to wait around for it. This is advantageous for lei where we can run dwaitpid on the pager as soon as we spawn it, instead of waiting for a client socket to go away on DESTROY. --- script/public-inbox-watch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'script/public-inbox-watch') diff --git a/script/public-inbox-watch b/script/public-inbox-watch index 9ada9c3b..10c7cd6f 100755 --- a/script/public-inbox-watch +++ b/script/public-inbox-watch @@ -19,7 +19,7 @@ my $do_scan = 1; GetOptions('scan!' => \$do_scan, # undocumented, testing only 'help|h' => \(my $show_help)) or do { print STDERR $help; exit 1 }; if ($show_help) { print $help; exit 0 }; -my $oldset = PublicInbox::Sigfd::block_signals(); +my $oldset = PublicInbox::DS::block_signals(); STDOUT->autoflush(1); STDERR->autoflush(1); local $0 = $0; # local since this script may be eval-ed @@ -60,7 +60,7 @@ if ($watch) { my $sigfd = PublicInbox::Sigfd->new($sig, SFD_NONBLOCK); local %SIG = (%SIG, %$sig) if !$sigfd; if (!$sigfd) { - PublicInbox::Sigfd::sig_setmask($oldset); + PublicInbox::DS::sig_setmask($oldset); PublicInbox::DS->SetLoopTimeout(1000); } $watch->watch($sig, $oldset) while ($watch); -- cgit v1.2.3-24-ge0c7