This may make it less likely for watch-dependent tests to get
stuck.  Unfortunately, due to the synchronous API of
Mail::IMAPClient, ->idle is still susceptible to missing
signals.
---
 lib/PublicInbox/Watch.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm
index b48d9cccc3e2..e80bbdec16fd 100644
--- a/lib/PublicInbox/Watch.pm
+++ b/lib/PublicInbox/Watch.pm
@@ -330,6 +330,7 @@ sub imap_idle_once ($$$$) {
        my $end = now() + $intvl;
        warn "I: $uri idling for ${intvl}s\n";
        local $0 = "IDLE $0";
+       return if $self->{quit};
        unless ($mic->idle) {
                return if $self->{quit};
                return "E: IDLE failed on $uri: $!";
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to