commit ae3a61b668b7a7b88a39471b84edcddab978cc58
Author: Oswald Buddenhagen <o...@users.sf.net>
Date:   Fri May 20 12:33:51 2022 +0200

    clarify / micro-optimize cancel_sync()

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

diff --git a/src/sync.c b/src/sync.c
index 9de140e9..532ff0eb 100644
--- a/src/sync.c
+++ b/src/sync.c
@@ -604,10 +604,8 @@ static void cancel_done( void *aux );
 static void
 cancel_sync( sync_vars_t *svars )
 {
-       int t;
-
-       for (t = 0; t < 2; t++) {
-               int other_state = svars->state[1-t];
+       int state1 = svars->state[1];
+       for (int t = 0; ; t++) {
                if (svars->ret & SYNC_BAD(t)) {
                        cancel_done( AUX );
                } else if (!(svars->state[t] & ST_SENT_CANCEL)) {
@@ -615,7 +613,7 @@ cancel_sync( sync_vars_t *svars )
                        svars->state[t] |= ST_SENT_CANCEL;
                        svars->drv[t]->cancel_cmds( svars->ctx[t], cancel_done, 
AUX );
                }
-               if (other_state & ST_CANCELED)
+               if (t || (state1 & ST_CANCELED))
                        break;
        }
 }


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

Reply via email to