[dovecot-cvs] dovecot/src/imap client.c, 1.64, 1.65 client.h, 1.34,
1.35 cmd-append.c, 1.74, 1.75 imap-sync.c, 1.17, 1.18
cras at dovecot.org
cras at dovecot.org
Sun Jan 29 14:41:40 EET 2006
Update of /var/lib/cvs/dovecot/src/imap
In directory talvi:/tmp/cvs-serv29318
Modified Files:
client.c client.h cmd-append.c imap-sync.c
Log Message:
And the final fix for APPEND hangs ;)
Index: client.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/client.c,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- client.c 29 Jan 2006 12:14:46 -0000 1.64
+++ client.c 29 Jan 2006 12:41:37 -0000 1.65
@@ -16,8 +16,6 @@
static struct client *my_client; /* we don't need more than one currently */
static struct timeout *to_idle;
-static int _client_output(void *context);
-
struct client *client_create(int fd_in, int fd_out,
struct namespace *namespaces)
{
@@ -426,7 +424,7 @@
client_destroy(client);
}
-static int _client_output(void *context)
+int _client_output(void *context)
{
struct client *client = context;
struct client_command_context *cmd = &client->cmd;
Index: client.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/client.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- client.h 29 Jan 2006 12:14:46 -0000 1.34
+++ client.h 29 Jan 2006 12:41:37 -0000 1.35
@@ -89,5 +89,6 @@
void _client_reset_command(struct client *client);
void _client_input(void *context);
+int _client_output(void *context);
#endif
Index: cmd-append.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/cmd-append.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- cmd-append.c 29 Jan 2006 12:33:13 -0000 1.74
+++ cmd-append.c 29 Jan 2006 12:41:37 -0000 1.75
@@ -126,6 +126,8 @@
mailbox_close(&ctx->box);
ctx->client->bad_counter = 0;
+ o_stream_set_flush_callback(ctx->client->output,
+ _client_output, ctx->client);
}
static bool cmd_append_continue_cancel(struct client_command_context *cmd)
Index: imap-sync.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/imap/imap-sync.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- imap-sync.c 29 Jan 2006 12:33:13 -0000 1.17
+++ imap-sync.c 29 Jan 2006 12:41:37 -0000 1.18
@@ -216,10 +216,6 @@
return TRUE;
}
- /* make sure that flush callback gets set to normal. this is
- currently needed only with APPEND. */
- _client_reset_command(cmd->client);
-
if ((client_workarounds & WORKAROUND_DELAY_NEWMAIL) != 0 &&
(flags & MAILBOX_SYNC_FLAG_FAST) != 0) {
/* expunges might break just as badly as new mail
More information about the dovecot-cvs
mailing list