diff options
author | Eric Wong <e@80x24.org> | 2021-02-22 08:22:51 -0300 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-02-22 18:14:17 -0400 |
commit | 2fc7ac8bf713d10a77ed65ca9fa8836675d3a57f (patch) | |
tree | 7ef4dd17f6ee059b053808fa79edfd2b9b29839c /lib | |
parent | baee8910c616611659da270af8bec50f70072a05 (diff) | |
download | public-inbox-2fc7ac8bf713d10a77ed65ca9fa8836675d3a57f.tar.gz |
For non-persistent workers, there's no harm in keeping the client socket open. This means we can avoid dancing around closing it in PublicInbox::LeiAuth::ipc_atfork_child. Eventually, other WQ workers will trigger "git credential" spawning in script/lei directly.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/LEI.pm | 4 | ||||
-rw-r--r-- | lib/PublicInbox/LeiAuth.pm | 3 |
2 files changed, 2 insertions, 5 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index 8d49b212..73c9e267 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -443,7 +443,7 @@ sub lei_atfork_child { my ($self, $persist) = @_; # we need to explicitly close things which are on stack if ($persist) { - my @io = delete @$self{0,1,2}; + my @io = delete @$self{qw(0 1 2 sock)}; unless ($self->{oneshot}) { close($_) for @io; } @@ -451,7 +451,7 @@ sub lei_atfork_child { delete $self->{0}; } delete @$self{qw(cnv)}; - for (delete @$self{qw(3 sock old_1 au_done)}) { + for (delete @$self{qw(3 old_1 au_done)}) { close($_) if defined($_); } if (my $op_c = delete $self->{pkt_op_c}) { diff --git a/lib/PublicInbox/LeiAuth.pm b/lib/PublicInbox/LeiAuth.pm index c70d8e8f..f2cdb026 100644 --- a/lib/PublicInbox/LeiAuth.pm +++ b/lib/PublicInbox/LeiAuth.pm @@ -54,11 +54,8 @@ sub auth_start { sub ipc_atfork_child { my ($self) = @_; - # prevent {sock} from being closed in lei_atfork_child: - my $s = delete $self->{lei}->{sock}; delete $self->{lei}->{auth}; # drop circular ref $self->{lei}->lei_atfork_child; - $self->{lei}->{sock} = $s if $s; $self->SUPER::ipc_atfork_child; } |