Skip to content

Commit

Permalink
imap: Send all pending tagged command replies before APPEND is started.
Browse files Browse the repository at this point in the history
This probably doesn't matter a lot, but it's cleaner.

One side effect of this change is that if multiple APPENDs are pipelined
(without MULTIAPPEND) on the selected mailbox, this now performs a sync
between each APPEND and sends the EXISTS replies. This may be slightly
lower in performance, but it's also slightly more correct behavior.
  • Loading branch information
sirainen committed Jan 28, 2016
1 parent bb869cc commit 6e9454f
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/imap/imap-commands.c
Expand Up @@ -20,7 +20,11 @@ static const struct command imap4rev1_commands[] = {
{ "LOGOUT", cmd_logout, COMMAND_FLAG_BREAKS_MAILBOX },
{ "NOOP", cmd_noop, COMMAND_FLAG_BREAKS_SEQS },

{ "APPEND", cmd_append, COMMAND_FLAG_BREAKS_SEQS },
{ "APPEND", cmd_append, COMMAND_FLAG_BREAKS_SEQS |
/* finish syncing and sending
all tagged commands before
we wait for APPEND input */
COMMAND_FLAG_BREAKS_MAILBOX },
{ "EXAMINE", cmd_examine, COMMAND_FLAG_BREAKS_MAILBOX },
{ "CREATE", cmd_create, 0 },
{ "DELETE", cmd_delete, COMMAND_FLAG_BREAKS_MAILBOX |
Expand Down

0 comments on commit 6e9454f

Please sign in to comment.