X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FGit.pm;h=c9ed48be9397231e81bc80ee2e7a590785153b72;hb=2d95420e2255db25c0a5d9ec1dfee13aef1dcff6;hp=96627daa19735106f31308be686d8c37961661b4;hpb=6bb2079cf610585176d23344047a048f4f8bf3dc;p=public-inbox.git diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 96627daa..c9ed48be 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -21,7 +21,7 @@ use PublicInbox::Tmpfile; use IO::Poll qw(POLLIN); use Carp qw(croak carp); use Digest::SHA (); -use PublicInbox::DS qw(dwaitpid); +use PublicInbox::DS qw(awaitpid); our @EXPORT_OK = qw(git_unquote git_quote); our $PIPE_BUFSIZ = 65536; # Linux default our $in_cleanup; @@ -138,7 +138,7 @@ sub _bidi_pipe { $rdr->{2} = $fh; } my ($in_r, $p) = popen_rd(\@cmd, undef, $rdr); - $self->{$pid} = $p; + awaitpid($self->{$pid} = $p, undef); $self->{"$pid.owner"} = $$; $out_w->autoflush(1); if ($^O eq 'linux') { # 1031: F_SETPIPE_SZ @@ -357,9 +357,9 @@ sub _destroy { delete @$self{($rbuf, $in, $out)}; delete $self->{$err} if $err; # `err_c' - # GitAsyncCat::event_step may delete {pid} - my $p = delete $self->{$pid} or return; - dwaitpid($p) if $$ == $self->{"$pid.owner"}; + # GitAsyncCat::event_step may delete {$pid} + my $p = delete($self->{$pid}) // return; + awaitpid($p) if $$ == $self->{"$pid.owner"}; } sub async_abort ($) {