Ver código fonte

don't attempt to issue LOGOUT on bad stores

amends 9d22641b.
Oswald Buddenhagen 9 anos atrás
pai
commit
8bd6eb433f
1 arquivos alterados com 6 adições e 2 exclusões
  1. 6 2
      src/drv_imap.c

+ 6 - 2
src/drv_imap.c

@@ -1501,8 +1501,12 @@ imap_cleanup( void )
 	for (ctx = unowned; ctx; ctx = nctx) {
 		nctx = ctx->next;
 		set_bad_callback( ctx, (void (*)(void *))imap_cancel_store, ctx );
-		((imap_store_t *)ctx)->expectBYE = 1;
-		imap_exec( (imap_store_t *)ctx, 0, imap_cleanup_p2, "LOGOUT" );
+		if (((imap_store_t *)ctx)->state != SST_BAD) {
+			((imap_store_t *)ctx)->expectBYE = 1;
+			imap_exec( (imap_store_t *)ctx, 0, imap_cleanup_p2, "LOGOUT" );
+		} else {
+			imap_cancel_store( ctx );
+		}
 	}
 }