X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiTag.pm;h=b6abd53367f7cfe5c2c24d96b7f60d487d2399cb;hb=dc890423db7c63c07ab248309accb429df405576;hp=c650e88633c999c430ab4f86a7a220d78878544d;hpb=3f4b1cb5884531acae332cddba0ed3d647424567;p=public-inbox.git diff --git a/lib/PublicInbox/LeiTag.pm b/lib/PublicInbox/LeiTag.pm index c650e886..b6abd533 100644 --- a/lib/PublicInbox/LeiTag.pm +++ b/lib/PublicInbox/LeiTag.pm @@ -9,7 +9,8 @@ use parent qw(PublicInbox::IPC PublicInbox::LeiInput); sub input_eml_cb { # used by PublicInbox::LeiInput::input_fh my ($self, $eml) = @_; - if (my $xoids = $self->{lei}->{ale}->xoids_for($eml)) { + if (my $xoids = $self->{lse}->xoids_for($eml) // # tries LeiMailSync + $self->{lei}->{ale}->xoids_for($eml)) { $self->{lei}->{sto}->ipc_do('update_xvmd', $xoids, $eml, $self->{vmd_mod}); } else { @@ -17,7 +18,11 @@ sub input_eml_cb { # used by PublicInbox::LeiInput::input_fh } } -sub input_mbox_cb { input_eml_cb($_[1], $_[0]) } +sub input_mbox_cb { + my ($eml, $self) = @_; + $eml->header_set($_) for (qw(X-Status Status)); + input_eml_cb($self, $eml); +} sub input_maildir_cb { # maildir_each_eml cb my ($f, $kw, $eml, $self) = @_; @@ -60,6 +65,7 @@ sub note_missing { sub ipc_atfork_child { my ($self) = @_; PublicInbox::LeiInput::input_only_atfork_child($self); + $self->{lse} = $self->{lei}->{sto}->search; # this goes out-of-scope at worker process exit: PublicInbox::OnDestroy->new($$, \¬e_missing, $self); }