From 7bca96023bb26438a5c9d0a7eec3986f5d66f5bf Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 17 May 2020 19:48:14 +0000 Subject: favor readline() and print() as functions In our inbox-writing code paths, ->getline as an OO method may be confused with the various definitions of `getline' used by the PSGI interface. It's also easier to do: "perldoc -f readline" than to figure out which class "->getline" belongs to (IO::Handle) and lookup documentation for that. ->print is less confusing than the "readline" vs "getline" mismatch, but we can still make it clear we're using a real file handle and not a mock interface. Finally, functions are a bit faster than their OO counterparts. --- lib/PublicInbox/Import.pm | 8 ++++---- lib/PublicInbox/SearchIdxShard.pm | 2 +- lib/PublicInbox/V2Writable.pm | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm index 792570c8..a9013504 100644 --- a/lib/PublicInbox/Import.pm +++ b/lib/PublicInbox/Import.pm @@ -160,7 +160,7 @@ sub progress { my ($self, $msg) = @_; return unless $self->{pid}; print { $self->{out} } "progress $msg\n" or wfail; - $self->{in}->getline eq "progress $msg\n" or die + readline($self->{in}) eq "progress $msg\n" or die "progress $msg not received\n"; undef; } @@ -554,7 +554,7 @@ sub replace_oids { push @buf, "reset $tmp\n"; } elsif (/^commit (?:.+)/) { if (@buf) { - $w->print(@buf) or wfail; + print $w @buf or wfail; @buf = (); } push @buf, "commit $tmp\n"; @@ -591,7 +591,7 @@ sub replace_oids { rewrite_commit($self, \@oids, \@buf, $mime); $nreplace++; } - $w->print(@buf, "\n") or wfail; + print $w @buf, "\n" or wfail; @buf = (); } elsif ($_ eq "done\n") { $done = 1; @@ -604,7 +604,7 @@ sub replace_oids { } close $rd or die "close fast-export failed: $?"; if (@buf) { - $w->print(@buf) or wfail; + print $w @buf or wfail; } die 'done\n not seen from fast-export' unless $done; chomp(my $cmt = $self->get_mark(":$mark")) if $nreplace; diff --git a/lib/PublicInbox/SearchIdxShard.pm b/lib/PublicInbox/SearchIdxShard.pm index e754b038..c1f52d8b 100644 --- a/lib/PublicInbox/SearchIdxShard.pm +++ b/lib/PublicInbox/SearchIdxShard.pm @@ -53,7 +53,7 @@ sub shard_worker_loop ($$$$$) { my ($self, $v2w, $r, $shard, $bnote) = @_; $0 = "pi-v2-shard[$shard]"; $self->begin_txn_lazy; - while (my $line = $r->getline) { + while (my $line = readline($r)) { $v2w->{current_info} = "[$shard] $line"; if ($line eq "commit\n") { $self->commit_txn_lazy; diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index c732b98a..513e9f23 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -606,7 +606,7 @@ sub barrier_wait { my $bnote = $self->{bnote} or return; my $r = $bnote->[0]; while (scalar keys %$barrier) { - defined(my $l = $r->getline) or die "EOF on barrier_wait: $!"; + defined(my $l = readline($r)) or die "EOF on barrier_wait: $!"; $l =~ /\Abarrier (\d+)/ or die "bad line on barrier_wait: $l"; delete $barrier->{$1} or die "bad shard[$1] on barrier wait"; } -- cgit v1.2.3-24-ge0c7