From e82347d7990694c958a3d66ff8ca25b0b26560a3 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 10 Jan 2021 12:15:05 +0000 Subject: ipc: eliminate ipc_worker_stop method We can just EOF the pipe, and instead rely on per-class error handling to deal with uncommitted transactions and what not. --- lib/PublicInbox/IPC.pm | 8 -------- 1 file changed, 8 deletions(-) (limited to 'lib/PublicInbox/IPC.pm') diff --git a/lib/PublicInbox/IPC.pm b/lib/PublicInbox/IPC.pm index 27ea90de..0c5205c1 100644 --- a/lib/PublicInbox/IPC.pm +++ b/lib/PublicInbox/IPC.pm @@ -136,12 +136,6 @@ sub ipc_worker_reap { # dwaitpid callback sub ipc_atfork_parent {} sub ipc_atfork_child {} -# should only be called inside the worker process -sub ipc_worker_exit { - my (undef, $code) = @_; - exit($code); -} - # idempotent, can be called regardless of whether worker is active or not sub ipc_worker_stop { my ($self) = @_; @@ -152,10 +146,8 @@ sub ipc_worker_stop { return; # idempotent } die 'no PID with IPC pipes' unless $pid; - _send_rec($w_req, [ undef, 'ipc_worker_exit', 0 ]); $w_req = $r_res = undef; - # allow any sibling to send ipc_worker_exit, but siblings can't wait return if $$ != $ppid; dwaitpid($pid, \&ipc_worker_reap, $self); } -- cgit v1.2.3-24-ge0c7