idata->status = IMAP_FATAL;
if ((idata->state == IMAP_SELECTED) &&
- (idata->reopen & IMAP_REOPEN_ALLOW) &&
- !idata->ctx->closing)
+ (idata->reopen & IMAP_REOPEN_ALLOW))
{
mx_fastclose_mailbox (idata->ctx);
mutt_error (_("Mailbox closed"));
if (idata->state != IMAP_SELECTED)
{
idata->state = IMAP_DISCONNECTED;
+ mutt_socket_close (idata->conn);
idata->status = 0;
}
}
s += 3;
SKIPWS (s);
mutt_error ("%s", s);
- idata->status = IMAP_BYE;
- if (idata->state == IMAP_SELECTED)
- mx_fastclose_mailbox (idata->ctx);
- mutt_socket_close (idata->conn);
- idata->state = IMAP_DISCONNECTED;
+ mutt_sleep (2);
+ cmd_handle_fatal (idata);
return -1;
}