aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Net/IMAP/InterIMAP.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Net/IMAP/InterIMAP.pm b/lib/Net/IMAP/InterIMAP.pm
index 33ad4ee..45253c1 100644
--- a/lib/Net/IMAP/InterIMAP.pm
+++ b/lib/Net/IMAP/InterIMAP.pm
@@ -992,7 +992,9 @@ sub idle($;$&) {
# done idling
$self->_cmd_extend('DONE');
$self->_cmd_flush();
- $self->_recv($tag);
+ # run the callback again to update the return value if we received
+ # untagged responses between the DONE and the tagged response
+ $self->_recv($tag, $callback, 'IDLE');
return $timeout < 0 ? 1 : 0;
}