From 1c52f49354aa83e71fcceccae888da0c77f2391d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 1 Oct 2021 09:54:41 +0000 Subject: ds: simplify signalfd use Since signalfd is often combined with our event loop, give it a convenient API and reduce the code duplication required to use it. EventLoop is replaced with ::event_loop to allow consistent parameter passing and avoid needlessly passing the package name on stack. We also avoid exporting SFD_NONBLOCK since it's the only flag we support. There's no sense in having the memory overhead of a constant function when it's in cold code. --- script/public-inbox-watch | 9 --------- 1 file changed, 9 deletions(-) (limited to 'script') diff --git a/script/public-inbox-watch b/script/public-inbox-watch index 86349d71..af02d8f3 100755 --- a/script/public-inbox-watch +++ b/script/public-inbox-watch @@ -13,8 +13,6 @@ use IO::Handle; # ->autoflush use PublicInbox::Watch; use PublicInbox::Config; use PublicInbox::DS; -use PublicInbox::Sigfd; -use PublicInbox::Syscall qw(SFD_NONBLOCK); my $do_scan = 1; GetOptions('scan!' => \$do_scan, # undocumented, testing only 'help|h' => \(my $show_help)) or do { print STDERR $help; exit 1 }; @@ -56,12 +54,5 @@ if ($watch) { # --no-scan is only intended for testing atm, undocumented. PublicInbox::DS::requeue($scan) if $do_scan; - - my $sigfd = PublicInbox::Sigfd->new($sig, SFD_NONBLOCK); - local @SIG{keys %$sig} = values(%$sig) unless $sigfd; - if (!$sigfd) { - PublicInbox::DS::sig_setmask($oldset); - PublicInbox::DS->SetLoopTimeout(1000); - } $watch->watch($sig, $oldset) while ($watch); } -- cgit v1.2.3-24-ge0c7