Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7870:490fdb3c04de HEAD
APPEND: Uncork stream only after syncing and sending tagged reply.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 13 Jun 2008 13:10:06 +0300 |
parents | fe465f0f86fb |
children | 6718f97ed2c3 |
files | src/imap/cmd-append.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ { 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 @@ 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