changeset 2694:7b24c608f225 HEAD

Make sure fetching is uninitialized always. Do full read/write syncing when expunging.
author Timo Sirainen <tss@iki.fi>
date Wed, 06 Oct 2004 01:47:32 +0300
parents ba7cd618d916
children f2b10efd15aa
files src/pop3/commands.c
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/pop3/commands.c	Tue Oct 05 23:40:52 2004 +0300
+++ b/src/pop3/commands.c	Wed Oct 06 01:47:32 2004 +0300
@@ -209,11 +209,14 @@
 		}
 	}
 
-	if (mailbox_search_deinit(ctx) < 0)
+	if (mailbox_search_deinit(ctx) < 0 || failed) {
+		mailbox_transaction_rollback(t);
 		return FALSE;
+	}
 
-	mailbox_transaction_commit(t, 0);
-	return !failed;
+	mailbox_transaction_commit(t, MAILBOX_SYNC_FLAG_FULL_READ |
+				   MAILBOX_SYNC_FLAG_FULL_WRITE);
+	return TRUE;
 }
 
 static int cmd_quit(struct client *client, const char *args __attr_unused__)
@@ -310,6 +313,9 @@
 		}
 
 		if (o_stream_get_buffer_used_size(client->output) > 0) {
+			if (client->output->closed)
+				break;
+
 			/* continue later */
 			return;
 		}