]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: If worker fails, abort earlier.
authorTimo Sirainen <tss@iki.fi>
Mon, 23 Aug 2010 13:35:50 +0000 (14:35 +0100)
committerTimo Sirainen <tss@iki.fi>
Mon, 23 Aug 2010 13:35:50 +0000 (14:35 +0100)
src/dsync/dsync-brain.c

index 8c41d46966c35608a368784dd0857938fc958136..470fc78aed9df980c9def77eb6e34f75a5832ea2 100644 (file)
@@ -804,6 +804,12 @@ static void dsync_brain_worker_finished(bool success, void *context)
 
 void dsync_brain_sync(struct dsync_brain *brain)
 {
+       if (dsync_worker_has_failed(brain->src_worker) ||
+           dsync_worker_has_failed(brain->dest_worker)) {
+               /* we can't safely continue, especially with backup */
+               return;
+       }
+
        if (brain->to != NULL)
                timeout_remove(&brain->to);
        switch (brain->state) {