commit 03d0ab0fbf5b3a5363fd77d63641e51533a7d767
Author: Oswald Buddenhagen <o...@users.sf.net>
Date:   Wed Jun 1 20:30:13 2022 +0200

    fix dropping of pending message propagations when resuming
    
    started message propagations will now complete upon resumption even if
    the run was requested to be a no-op - whether that's a good thing can
    be argued, but it's the least effort way to avoid that committing
    discards transaction state.

 src/sync.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/sync.c b/src/sync.c
index 58556da5..eb2fba76 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -737,11 +737,13 @@ box_opened2( sync_vars_t *svars, int t )
                        if (srec->status & S_PURGE) {
                                t = srec->uid[F] ? F : N;
                                opts[t] |= OPEN_SETFLAGS;
-                       }
-                       if (srec->status & S_UPGRADE) {
+                       } else if (srec->status & S_PENDING) {
                                t = !srec->uid[F] ? F : N;
                                opts[t] |= OPEN_APPEND;
-                               opts[t^1] |= OPEN_OLD;
+                               if (srec->status & S_UPGRADE)
+                                       opts[t^1] |= OPEN_OLD;
+                               else
+                                       opts[t^1] |= OPEN_NEW;
                                if (chan->ops[t] & OP_EXPUNGE)  // Don't 
propagate doomed msgs
                                        opts[t^1] |= OPEN_FLAGS;
                        }


_______________________________________________
isync-devel mailing list
isync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/isync-devel

Reply via email to