diff options
author | Eric Wong <e@yhbt.net> | 2020-06-10 07:04:04 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-06-13 07:55:45 +0000 |
commit | 9d154055ec44903052beaa4e2c1221f39d6d507a (patch) | |
tree | b76b693d85976839bbedba525a38f99a85760dd1 /lib/PublicInbox/IMAP.pm | |
parent | eab4dfdda4eeea9a54aa674510fa11789c5f91c8 (diff) | |
download | public-inbox-9d154055ec44903052beaa4e2c1221f39d6d507a.tar.gz |
InboxIdle should not be holding onto Inbox objects after the Config object they came from expires, and Config objects may expire on SIGHUP. Old Inbox objects still persist due to IMAP clients holding onto them, but that's a concern we'll deal with at another time, or not at all, since all clients expire, eventually. Regardless, stale inotify watch descriptors should not be left hanging after SIGHUP refreshes.
Diffstat (limited to 'lib/PublicInbox/IMAP.pm')
-rw-r--r-- | lib/PublicInbox/IMAP.pm | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/PublicInbox/IMAP.pm b/lib/PublicInbox/IMAP.pm index 4a43185c..c8592dc0 100644 --- a/lib/PublicInbox/IMAP.pm +++ b/lib/PublicInbox/IMAP.pm @@ -160,6 +160,7 @@ sub cmd_idle ($$) { # IDLE seems allowed by dovecot w/o a mailbox selected *shrug* my $ibx = $self->{ibx} or return "$tag BAD no mailbox selected\r\n"; $ibx->subscribe_unlock(fileno($self->{sock}), $self); + $self->{imapd}->idler_start; $self->{-idle_tag} = $tag; $self->{-idle_max} = $ibx->mm->max // 0; "+ idling\r\n" |