diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/LEI.pm | 2 | ||||
-rw-r--r-- | lib/PublicInbox/LeiQuery.pm | 2 | ||||
-rw-r--r-- | lib/PublicInbox/LeiToMail.pm | 8 |
3 files changed, 8 insertions, 4 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index 50276a50..50c0a885 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -431,7 +431,7 @@ sub out ($;@) { my $self = shift; return if print { $self->{1} // return } @_; # likely return note_sigpipe($self, 1) if $! == EPIPE; - my $err = "error writing to stdout: $!"; + my $err = "error writing to output: $!"; delete $self->{1}; fail($self, $err); } diff --git a/lib/PublicInbox/LeiQuery.pm b/lib/PublicInbox/LeiQuery.pm index 493a8382..623b92cd 100644 --- a/lib/PublicInbox/LeiQuery.pm +++ b/lib/PublicInbox/LeiQuery.pm @@ -52,7 +52,7 @@ sub lei_q { my $sto = $self->_lei_store(1); my $lse = $sto->search; if (($opt->{'import-remote'} //= 1) | - ($opt->{'import-before'} //= 1)) { + (($opt->{'import-before'} //= \1) ? 1 : 0)) { $sto->write_prepare($self); } if ($opt->{'local'} //= scalar(@only) ? 0 : 1) { diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index 1e2060fe..13b4f672 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -223,8 +223,6 @@ sub _post_augment_mbox { # open a compressor process $dup->{$_} = $lei->{$_} for qw(2 sock); tie *$pp, 'PublicInbox::ProcessPipe', $pid, $w, \&reap_compress, $dup; $lei->{1} = $pp; - die 'BUG: unexpected {ovv}->{lock_path}' if $lei->{ovv}->{lock_path}; - $lei->{ovv}->ovv_out_lk_init; } sub decompress_src ($$$) { @@ -495,6 +493,7 @@ sub _pre_augment_mbox { my $out = $lei->{1}; if ($dst ne '/dev/stdout') { if (-p $dst) { + $out = undef; open $out, '>', $dst or die "open($dst): $!"; } elsif (-f _ || !-e _) { require PublicInbox::MboxLock; @@ -521,6 +520,11 @@ sub _pre_augment_mbox { if (($self->{zsfx}) = ($dst =~ /\.($zsfx_allow)\z/)) { pipe(my ($r, $w)) or die "pipe: $!"; $lei->{zpipe} = [ $r, $w ]; + $lei->{ovv}->{lock_path} and + die 'BUG: unexpected {ovv}->{lock_path}'; + $lei->{ovv}->ovv_out_lk_init; + } elsif (!$self->{seekable} && !$lei->{ovv}->{lock_path}) { + $lei->{ovv}->ovv_out_lk_init; } $lei->{1} = $out; undef; |