Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9027:421393827a81 HEAD
imap: When multiple commands are pipelined, try harder to combine their mailbox syncing together.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 14 May 2009 17:20:02 -0400 |
parents | cbeae4ef9af5 |
children | fa9bc4ef6f32 |
files | src/imap/client.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/client.c Wed May 13 13:32:13 2009 -0400 +++ b/src/imap/client.c Thu May 14 17:20:02 2009 -0400 @@ -376,7 +376,8 @@ cmd = new_cmd->client->command_queue; for (; cmd != NULL; cmd = cmd->next) { - if (cmd != new_cmd && (cmd->cmd_flags & flags) != 0) + if (cmd->state < CLIENT_COMMAND_STATE_WAIT_SYNC && + cmd != new_cmd && (cmd->cmd_flags & flags) != 0) return cmd; } return NULL; @@ -718,7 +719,8 @@ if (!handled_commands) return FALSE; - ret = cmd_sync_delayed(client); + ret = client->input_lock != NULL ? TRUE : + cmd_sync_delayed(client); if (ret) client_continue_pending_input(&client); return TRUE;