about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/XapHelper.pm7
1 files changed, 1 insertions, 6 deletions
diff --git a/lib/PublicInbox/XapHelper.pm b/lib/PublicInbox/XapHelper.pm
index f7640f4c..41c66a12 100644
--- a/lib/PublicInbox/XapHelper.pm
+++ b/lib/PublicInbox/XapHelper.pm
@@ -216,14 +216,9 @@ sub reap_worker { # awaitpid CB
 
 sub start_worker ($) {
         my ($nr) = @_;
-        my $pid = fork;
-        if (!defined($pid)) {
-                warn("fork: $!");
-                return undef;
-        };
+        my $pid = eval { PublicInbox::DS::do_fork } // return(warn($@));
         if ($pid == 0) {
                 undef %WORKERS;
-                PublicInbox::DS::Reset();
                 $SIG{TTIN} = $SIG{TTOU} = 'IGNORE';
                 $SIG{CHLD} = 'DEFAULT'; # Xapian may use this
                 recv_loop();