X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FGcf2Client.pm;h=a49e2aad380129ce2fc8c3b1c5b7d267d8c8aed4;hb=2d95420e2255db25c0a5d9ec1dfee13aef1dcff6;hp=09c3aa06f6be8a081497e74a75e873b904c666e6;hpb=6bb2079cf610585176d23344047a048f4f8bf3dc;p=public-inbox.git diff --git a/lib/PublicInbox/Gcf2Client.pm b/lib/PublicInbox/Gcf2Client.pm index 09c3aa06..a49e2aad 100644 --- a/lib/PublicInbox/Gcf2Client.pm +++ b/lib/PublicInbox/Gcf2Client.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2020-2021 all contributors +# Copyright (C) all contributors # License: AGPL-3.0+ # connects public-inbox processes to PublicInbox::Gcf2::loop() @@ -10,6 +10,7 @@ use PublicInbox::Gcf2; # fails if Inline::C or libgit2-dev isn't available use PublicInbox::Spawn qw(spawn); use Socket qw(AF_UNIX SOCK_STREAM); use PublicInbox::Syscall qw(EPOLLIN EPOLLET); +use PublicInbox::DS qw(awaitpid); # fields: # sock => socket to Gcf2::loop # The rest of these fields are compatible with what PublicInbox::Git @@ -30,7 +31,7 @@ sub new { $rdr->{0} = $rdr->{1} = $s2; my $cmd = [$^X, qw[-MPublicInbox::Gcf2 -e PublicInbox::Gcf2::loop]]; $self->{'pid.owner'} = $$; - $self->{pid} = spawn($cmd, $env, $rdr); + awaitpid($self->{pid} = spawn($cmd, $env, $rdr), undef); $s1->blocking(0); $self->{inflight} = []; $self->{in} = $s1;