user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH 4/4] git: reduce delete ops in _destroy
  2023-01-25 10:18  5% [PATCH 0/4] git-related updates Eric Wong
@ 2023-01-25 10:18  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2023-01-25 10:18 UTC (permalink / raw)
  To: meta

We can avoid some extra returns and branches by just relying on
variadic arguments.
---
 lib/PublicInbox/Git.pm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm
index 9197ea67..12f997dc 100644
--- a/lib/PublicInbox/Git.pm
+++ b/lib/PublicInbox/Git.pm
@@ -373,13 +373,11 @@ sub check {
 }
 
 sub _destroy {
-	my ($self, $rbuf, $in, $out, $pid, $err) = @_;
-	delete @$self{($rbuf, $in, $out)};
-	delete $self->{$err} if $err; # `err_c'
+	my ($self, $pid, @rest) = @_; # rest = rbuf, in, out, err
+	my ($p) = delete @$self{($pid, @rest)};
 
 	# GitAsyncCat::event_step may delete {$pid}
-	my $p = delete($self->{$pid}) // return;
-	awaitpid($p) if $$ == $self->{"$pid.owner"};
+	awaitpid($p) if defined($p) && $$ == $self->{"$pid.owner"};
 }
 
 sub async_abort ($) {
@@ -468,8 +466,8 @@ sub cleanup {
 	async_wait_all($self);
 	delete $self->{inflight};
 	delete $self->{inflight_c};
-	_destroy($self, qw(rbuf in out pid));
-	_destroy($self, qw(rbuf_c in_c out_c pid_c err_c));
+	_destroy($self, qw(pid rbuf in out));
+	_destroy($self, qw(pid_c rbuf_c in_c out_c err_c));
 	undef;
 }
 

^ permalink raw reply related	[relevance 7%]

* [PATCH 0/4] git-related updates
@ 2023-01-25 10:18  5% Eric Wong
  2023-01-25 10:18  7% ` [PATCH 4/4] git: reduce delete ops in _destroy Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2023-01-25 10:18 UTC (permalink / raw)
  To: meta

core.abbrev=no is now used in preparation for SHA-256 support.

I started working on supporting git 2.36+ --batch-command, but having
to support prior versions will require more refactoring, I think...

2/4 was painful :<

Eric Wong (4):
  git: use core.abbrev=no on git 2.31+
  process_pipe: warn hackers off using it for bidirectional pipes
  git: drop needless ENOENT import
  git: reduce delete ops in _destroy

 lib/PublicInbox/Git.pm         | 42 ++++++++++++++++++++++++----------
 lib/PublicInbox/ProcessPipe.pm |  6 +++--
 2 files changed, 34 insertions(+), 14 deletions(-)

^ permalink raw reply	[relevance 5%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-01-25 10:18  5% [PATCH 0/4] git-related updates Eric Wong
2023-01-25 10:18  7% ` [PATCH 4/4] git: reduce delete ops in _destroy Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).