dovecot-1.2: APPEND: Uncork stream only after syncing and sendin...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Jun 17 12:36:47 EEST 2008
details: http://hg.dovecot.org/dovecot-1.2/rev/490fdb3c04de
changeset: 7870:490fdb3c04de
user: Timo Sirainen <tss at iki.fi>
date: Fri Jun 13 13:10:06 2008 +0300
description:
APPEND: Uncork stream only after syncing and sending tagged reply.
diffstat:
1 file changed, 5 insertions(+), 2 deletions(-)
src/imap/cmd-append.c | 7 +++++--
diffs (31 lines):
diff -r fe465f0f86fb -r 490fdb3c04de src/imap/cmd-append.c
--- a/src/imap/cmd-append.c Fri Jun 13 11:02:56 2008 +0300
+++ b/src/imap/cmd-append.c Fri Jun 13 13:10:06 2008 +0300
@@ -38,6 +38,7 @@ static void client_input_append(struct c
{
struct cmd_append_context *ctx = cmd->context;
struct client *client = cmd->client;
+ struct ostream *output = client->output;
bool finished;
i_assert(!client->destroyed);
@@ -73,15 +74,17 @@ static void client_input_append(struct c
return;
}
- o_stream_cork(client->output);
+ o_stream_ref(output);
+ o_stream_cork(output);
finished = cmd->func(cmd);
- o_stream_uncork(client->output);
if (!finished && cmd->state != CLIENT_COMMAND_STATE_DONE)
(void)client_handle_unfinished_cmd(cmd);
else
client_command_free(&cmd);
(void)cmd_sync_delayed(client);
client_continue_pending_input(&client);
+ o_stream_uncork(output);
+ o_stream_unref(&output);
}
/* Returns -1 = error, 0 = need more data, 1 = successful. flags and
More information about the dovecot-cvs
mailing list