]> 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>
Mon, 25 Jul 2016 18:09:38 +0000 (14:09 -0400)
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 3a83b11276c480d8700ac39beb46259754e80839..abeaa59f467575df7b76abf1133f88c91e2f028a 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;