MANIFEST | 1 - lib/PublicInbox/Daemon.pm | 6 ++---- lib/PublicInbox/ParentPipe.pm | 23 ----------------------- diff --git a/MANIFEST b/MANIFEST index 0b3835d8a1aa0c4d28ebd91249abc8e447d0624e..b65e96b071f5f662df87863754f664dd16510112 100644 --- a/MANIFEST +++ b/MANIFEST @@ -169,7 +169,6 @@ lib/PublicInbox/NNTPdeflate.pm lib/PublicInbox/NewsWWW.pm lib/PublicInbox/Over.pm lib/PublicInbox/OverIdx.pm -lib/PublicInbox/ParentPipe.pm lib/PublicInbox/ProcessPipe.pm lib/PublicInbox/Qspawn.pm lib/PublicInbox/Reply.pm diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm index 454751834fd20fa6f5140be152a59c0793d221b4..000ba1695d666bb7eed68677b5418e7bb8bbe23a 100644 --- a/lib/PublicInbox/Daemon.pm +++ b/lib/PublicInbox/Daemon.pm @@ -17,7 +17,7 @@ STDERR->autoflush(1); use PublicInbox::DS qw(now); use PublicInbox::Syscall qw($SFD_NONBLOCK); require PublicInbox::Listener; -require PublicInbox::ParentPipe; +use PublicInbox::EOFpipe; use PublicInbox::Sigfd; my @CMD; my ($set_user, $oldset); @@ -468,8 +468,6 @@ } sub master_loop { pipe(my ($p0, $p1)) or die "failed to create parent-pipe: $!"; - # 1031: F_SETPIPE_SZ, 4096: page size - fcntl($p1, 1031, 4096) if $^O eq 'linux'; my $set_workers = $worker_processes; reopen_logs(); my $ignore_winch; @@ -603,7 +601,7 @@ }; if ($worker_processes > 0) { $refresh->(); # preload by default my $fh = master_loop(); # returns if in child process - PublicInbox::ParentPipe->new($fh, \&worker_quit); + PublicInbox::EOFpipe->new($fh, \&worker_quit, undef); } else { reopen_logs(); $set_user->() if $set_user; diff --git a/lib/PublicInbox/ParentPipe.pm b/lib/PublicInbox/ParentPipe.pm deleted file mode 100644 index 538b5632c623851aebaed6662238ac3406a9b220..0000000000000000000000000000000000000000 --- a/lib/PublicInbox/ParentPipe.pm +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 2016-2020 all contributors -# License: AGPL-3.0+ - -# only for PublicInbox::Daemon, allows worker processes to be -# notified if the master process dies. -package PublicInbox::ParentPipe; -use strict; -use parent qw(PublicInbox::DS); -use PublicInbox::Syscall qw(EPOLLIN EPOLLONESHOT); - -sub new ($$$) { - my ($class, $pipe, $worker_quit) = @_; - my $self = bless { cb => $worker_quit }, $class; - $self->SUPER::new($pipe, EPOLLIN|EPOLLONESHOT); -} - -# master process died, time to call worker_quit ourselves -sub event_step { - $_[0]->close; # PublicInbox::DS::close - $_[0]->{cb}->(); -} - -1;