diff options
Diffstat (limited to 'lib/PublicInbox/LeiToMail.pm')
-rw-r--r-- | lib/PublicInbox/LeiToMail.pm | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index f9250860..5a6f18fb 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -365,6 +365,7 @@ sub new { } else { die "bad mail --format=$fmt\n"; } + $self->{dst} = $dst; $lei->{dedupe} = PublicInbox::LeiDedupe->new($lei); $self; } @@ -474,6 +475,18 @@ sub ipc_atfork_child { $self->SUPER::ipc_atfork_child; } +sub lock_free { + $_[0]->{base_type} =~ /\A(?:maildir|mh|imap|jmap)\z/ ? 1 : 0; +} + +sub poke_dst { + my ($self) = @_; + if ($self->{base_type} eq 'maildir') { + my $t = time + 1; + utime($t, $t, "$self->{dst}/cur"); + } +} + sub write_mail { # via ->wq_do my ($self, $git_dir, $smsg) = @_; my $not_done = delete $self->{0} // die 'BUG: $not_done missing'; |