commit ae3a61b668b7a7b88a39471b84edcddab978cc58
parent 75113ef79672273d85f41cfa05bfb0b154f3fd5b
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date: Fri, 20 May 2022 12:33:51 +0200
clarify / micro-optimize cancel_sync()
Diffstat:
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git 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;
}
}