X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FDirIdle.pm;h=7031e5fd5615f17aa1df4467c6aebdcf36d7c31a;hb=5b4fde37adefa37508d131dbe013353ef3345051;hp=5142d005e4aa326543fe8a99dca0c4e491eb42c5;hpb=79e274b293a71fb41dd8bf6e9598a8e8a24fed4f;p=public-inbox.git diff --git a/lib/PublicInbox/DirIdle.pm b/lib/PublicInbox/DirIdle.pm index 5142d005..7031e5fd 100644 --- a/lib/PublicInbox/DirIdle.pm +++ b/lib/PublicInbox/DirIdle.pm @@ -53,6 +53,23 @@ sub new { $self; } +sub add_watches { + my ($self, $dirs, $gone) = @_; + my $fl = $MAIL_IN | ($gone ? $MAIL_GONE : 0); + for my $d (@$dirs) { + $self->{inot}->watch($d, $fl); + } + PublicInbox::FakeInotify::poll_once($self) if !$ino_cls; +} + +sub rm_watches { + my ($self, $dir) = @_; + my $inot = $self->{inot}; + if (my $cb = $inot->can('rm_watches')) { # TODO for fake watchers + $cb->($inot, $dir); + } +} + sub event_step { my ($self) = @_; my $cb = $self->{cb};