From 16672e94f6895493843ad78c6f5e2d5b5159243b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 26 Apr 2017 23:13:20 +0300 Subject: [PATCH] imapc: Don't send NOOP on sync if MAILBOX_SYNC_FLAG_FAST is set Fast syncing should do only the minimal amount of work. --- src/lib-storage/index/imapc/imapc-sync.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib-storage/index/imapc/imapc-sync.c b/src/lib-storage/index/imapc/imapc-sync.c index 2deef70f3e..3502cd361b 100644 --- a/src/lib-storage/index/imapc/imapc-sync.c +++ b/src/lib-storage/index/imapc/imapc-sync.c @@ -547,8 +547,9 @@ imapc_noop_if_needed(struct imapc_mailbox *mbox, enum mailbox_sync_flags flags) if (!mbox->initial_sync_done) { /* we just SELECTed/EXAMINEd the mailbox, don't do another NOOP. */ - } else if ((mbox->capabilities & IMAPC_CAPABILITY_IDLE) == 0 || - (flags & MAILBOX_SYNC_FLAG_FULL_READ) != 0) { + } else if ((flags & MAILBOX_SYNC_FLAG_FAST) == 0 && + ((mbox->capabilities & IMAPC_CAPABILITY_IDLE) == 0 || + (flags & MAILBOX_SYNC_FLAG_FULL_READ) != 0)) { /* do NOOP to make sure we have the latest changes before starting sync. this is necessary either because se don't support IDLE at all, or because we want to be sure that we