Changeset: 3a0504c428f4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3a0504c428f4
Modified Files:
gdk/gdk.h
Branch: default
Log Message:
Off-by-one error.
Completing changeset d649c5b5cb94.
diffs (26 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2350,19 +2350,19 @@ gdk_export BAT *BATsample_with_seed(BAT
* on each iteration */
#define TIMEOUT_LOOP_IDX(IDX, REPEATS, TIMEOFFSET) \
for (BUN REPS = (IDX = 0, (REPEATS)); REPS > 0; REPS = 0) /* "loops" at
most once */ \
- for (BUN CTR1 = 0, END1 = (REPS + 1 + CHECK_QRY_TIMEOUT_MASK)
>> CHECK_QRY_TIMEOUT_SHIFT; CTR1 < END1 && TIMEOFFSET >= 0; CTR1++, TIMEOFFSET
= TIMEOFFSET > 0 && GDKusec() > TIMEOFFSET ? -1 : TIMEOFFSET) \
+ for (BUN CTR1 = 0, END1 = (REPS + CHECK_QRY_TIMEOUT_STEP) >>
CHECK_QRY_TIMEOUT_SHIFT; CTR1 < END1 && TIMEOFFSET >= 0; CTR1++, TIMEOFFSET =
TIMEOFFSET > 0 && GDKusec() > TIMEOFFSET ? -1 : TIMEOFFSET) \
for (BUN CTR2 = 0, END2 = CTR1 == END1 - 1 ? REPS &
CHECK_QRY_TIMEOUT_MASK : CHECK_QRY_TIMEOUT_STEP; CTR2 < END2; CTR2++, IDX++)
/* declare and use IDX as a loop variable, initializing it to 0 and
* incrementing it on each iteration */
#define TIMEOUT_LOOP_IDX_DECL(IDX, REPEATS, TIMEOFFSET)
\
for (BUN IDX = 0, REPS = (REPEATS); REPS > 0; REPS = 0) /* "loops" at
most once */ \
- for (BUN CTR1 = 0, END1 = (REPS + CHECK_QRY_TIMEOUT_MASK) >>
CHECK_QRY_TIMEOUT_SHIFT; CTR1 < END1 && TIMEOFFSET >= 0; CTR1++, TIMEOFFSET =
TIMEOFFSET > 0 && GDKusec() > TIMEOFFSET ? -1 : TIMEOFFSET) \
+ for (BUN CTR1 = 0, END1 = (REPS + CHECK_QRY_TIMEOUT_STEP) >>
CHECK_QRY_TIMEOUT_SHIFT; CTR1 < END1 && TIMEOFFSET >= 0; CTR1++, TIMEOFFSET =
TIMEOFFSET > 0 && GDKusec() > TIMEOFFSET ? -1 : TIMEOFFSET) \
for (BUN CTR2 = 0, END2 = CTR1 == END1 - 1 ? REPS &
CHECK_QRY_TIMEOUT_MASK : CHECK_QRY_TIMEOUT_STEP; CTR2 < END2; CTR2++, IDX++)
/* there is no user-visible loop variable */
#define TIMEOUT_LOOP(REPEATS, TIMEOFFSET) \
- for (BUN CTR1 = 0, REPS = (REPEATS), END1 = (REPS +
CHECK_QRY_TIMEOUT_MASK) >> CHECK_QRY_TIMEOUT_SHIFT; CTR1 < END1 && TIMEOFFSET
>= 0; CTR1++, TIMEOFFSET = TIMEOFFSET > 0 && GDKusec() > TIMEOFFSET ? -1 :
TIMEOFFSET) \
+ for (BUN CTR1 = 0, REPS = (REPEATS), END1 = (REPS +
CHECK_QRY_TIMEOUT_STEP) >> CHECK_QRY_TIMEOUT_SHIFT; CTR1 < END1 && TIMEOFFSET
>= 0; CTR1++, TIMEOFFSET = TIMEOFFSET > 0 && GDKusec() > TIMEOFFSET ? -1 :
TIMEOFFSET) \
for (BUN CTR2 = 0, END2 = CTR1 == END1 - 1 ? REPS &
CHECK_QRY_TIMEOUT_MASK : CHECK_QRY_TIMEOUT_STEP; CTR2 < END2; CTR2++)
/* break out of the loop (cannot use do/while trick here) */
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list