summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/igt_aux.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 336440c9..da21f10f 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -237,7 +237,12 @@ bool igt_sigiter_continue(struct igt_sigiter *iter, bool enable)
if (iter->pass++ == 0)
return igt_sigiter_start(iter, enable);
- if (__igt_sigiter.stat.miss == __igt_sigiter.stat.ioctls)
+ /* If nothing reported SIGINT, nothing will on the next pass, so
+ * give up! Also give up if everything is now executing faster
+ * than current sigtimer.
+ */
+ if (__igt_sigiter.stat.hit == 0 ||
+ __igt_sigiter.stat.miss == __igt_sigiter.stat.ioctls)
return igt_sigiter_stop(iter, enable);
igt_debug("%s: pass %d, missed %ld/%ld\n",