[dovecot-cvs] dovecot/src/imap cmd-idle.c,1.30.2.2,1.30.2.3
tss at dovecot.org
tss at dovecot.org
Sat Nov 18 21:29:58 UTC 2006
Update of /var/lib/cvs/dovecot/src/imap
In directory talvi:/tmp/cvs-serv5322
Modified Files:
Tag: branch_1_0
cmd-idle.c
Log Message:
If syncing finished with an error and client had disconnected, we
assert-crashed in io_add().
Index: cmd-idle.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/cmd-idle.c,v
retrieving revision 1.30.2.2
retrieving revision 1.30.2.3
diff -u -d -r1.30.2.2 -r1.30.2.3
--- cmd-idle.c 12 Nov 2006 11:31:40 -0000 1.30.2.2
+++ cmd-idle.c 18 Nov 2006 21:29:56 -0000 1.30.2.3
@@ -173,11 +173,6 @@
struct client *client = cmd->client;
struct cmd_idle_context *ctx = cmd->context;
- if (client->output->closed) {
- idle_finish(ctx, FALSE);
- return TRUE;
- }
-
if (ctx->manual_cork) {
/* we're coming from idle_callback instead of a normal
I/O handler, so we'll have to do corking manually */
@@ -220,6 +215,10 @@
o_stream_uncork(client->output);
}
+ if (client->output->closed) {
+ idle_finish(ctx, FALSE);
+ return TRUE;
+ }
if (client->io == NULL) {
/* input is pending */
client->io = io_add(i_stream_get_fd(client->input),
More information about the dovecot-cvs
mailing list