about summary refs log tree commit homepage
path: root/lib/PublicInbox/ParentPipe.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-08-31 04:41:40 +0000
committerEric Wong <e@80x24.org>2020-09-01 00:19:21 +0000
commit0877ff2595baf86c10b27b6dd2364f5235457430 (patch)
treefb66681321905423a411b5f5ad15b593a93a04bb /lib/PublicInbox/ParentPipe.pm
parent823dbcacf7829fd0f42748ae7712a76fa4c64a76 (diff)
downloadpublic-inbox-0877ff2595baf86c10b27b6dd2364f5235457430.tar.gz
ParentPipe was a subset of EOFpipe, except EOFpipe correctly
accounts for theoretical(*) spurious wakeups on the pipe.

(*) AFAIK, spurious wakeups are/were more likely on TCP sockets
    due to checksum failures, something that's not a problem on
    local pipes.  We're also not sharing pipes like we do with
    listen sockets on accept(2), so there's no chance of another
    process grabbing bytes (unless we have bugs in our code).
Diffstat (limited to 'lib/PublicInbox/ParentPipe.pm')
-rw-r--r--lib/PublicInbox/ParentPipe.pm23
1 files changed, 0 insertions, 23 deletions
diff --git a/lib/PublicInbox/ParentPipe.pm b/lib/PublicInbox/ParentPipe.pm
deleted file mode 100644
index 538b5632..00000000
--- a/lib/PublicInbox/ParentPipe.pm
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2016-2020 all contributors <meta@public-inbox.org>
-# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
-
-# 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;