diff options
-rw-r--r-- | lib/PublicInbox/Watch.pm | 7 | ||||
-rwxr-xr-x | script/public-inbox-watch | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm index c3b5b791..a2dc125f 100644 --- a/lib/PublicInbox/Watch.pm +++ b/lib/PublicInbox/Watch.pm @@ -389,7 +389,7 @@ sub watch_atfork_child ($) { my $sig = delete $self->{sig}; $sig->{CHLD} = 'DEFAULT'; @SIG{keys %$sig} = values %$sig; - PublicInbox::DS::sig_setmask($self->{oldset}); + PublicInbox::DS::sig_setmask(PublicInbox::DS::allowset($sig)); } sub watch_atfork_parent ($) { _done_for_now($_[0]) } @@ -533,8 +533,7 @@ sub watch_nntp_init ($$) { } sub watch { # main entry point - my ($self, $sig, $oldset) = @_; - $self->{oldset} = $oldset; + my ($self, $sig) = @_; my $first_sig; $self->{sig} //= ($first_sig = $sig); my $poll = {}; # intvl_seconds => [ uri1, uri2 ] @@ -546,7 +545,7 @@ sub watch { # main entry point } watch_fs_init($self) if $self->{mdre}; local @PublicInbox::DS::post_loop_do = (sub { !$self->quit_done }); - PublicInbox::DS::event_loop($first_sig, $oldset); # calls ->event_step + PublicInbox::DS::event_loop($first_sig); # calls ->event_step _done_for_now($self); } diff --git a/script/public-inbox-watch b/script/public-inbox-watch index 2fb27343..75a9a36b 100755 --- a/script/public-inbox-watch +++ b/script/public-inbox-watch @@ -17,7 +17,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::DS::block_signals(); +PublicInbox::DS::block_signals(); STDOUT->autoflush(1); STDERR->autoflush(1); local $0 = $0; # local since this script may be eval-ed @@ -55,5 +55,5 @@ if ($watch) { # --no-scan is only intended for testing atm, undocumented. PublicInbox::DS::requeue($scan) if $do_scan; - $watch->watch($sig, $oldset) while ($watch); + $watch->watch($sig) while ($watch); } |