]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lazy-expunge: If lazy-expunge transaction failed already, stop further expunges.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 25 Jul 2016 18:09:38 +0000 (14:09 -0400)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 4 Aug 2016 15:07:30 +0000 (18:07 +0300)
Most importantly if the lazy-expunge mailbox opening fails, we don't now
retry opening the mailbox for each expunged mail.

src/plugins/lazy-expunge/lazy-expunge-plugin.c

index 1fdbe7fd1ffd391fa53f002f79f5dfef7bb91ca2..939a6387e32fc97144c797477b446efe2dfd570b 100644 (file)
@@ -281,6 +281,9 @@ static void lazy_expunge_mail_expunge(struct mail *_mail)
        bool moving = mmail->moving;
        int ret;
 
+       if (lt->delayed_error != MAIL_ERROR_NONE)
+               return;
+
        /* Clear this in case the mail is used for non-move later on. */
        mmail->moving = FALSE;