From: Eric Wong Date: Sun, 26 Mar 2023 10:52:45 +0000 (+0000) Subject: watch: avoid Mail::IMAPClient errors when disconnected X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab2ee025d73f91761265d544c0a11f2b9e20c342;p=thirdparty%2Fpublic-inbox.git watch: avoid Mail::IMAPClient errors when disconnected No point in issuing LOGOUT commands and causing Mail::IMAPClient to spew a giant backtrace when we're unconnected. --- diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm index 8482100cb..810fb63b9 100644 --- a/lib/PublicInbox/Watch.pm +++ b/lib/PublicInbox/Watch.pm @@ -254,9 +254,10 @@ sub quit { %{$self->{opendirs}} = (); _done_for_now($self); quit_done($self); - if (my $idle_mic = $self->{idle_mic}) { + if (my $idle_mic = delete $self->{idle_mic}) { + return unless $idle_mic->IsConnected && $idle_mic->Socket; eval { $idle_mic->done }; - if ($@) { + if ($@ && $idle_mic->IsConnected && $idle_mic->Socket) { warn "IDLE DONE error: $@\n"; eval { $idle_mic->disconnect }; warn "IDLE LOGOUT error: $@\n" if $@;