[Intel-gfx] [PATCH i-g-t 2/3] lib/core: Add igt_reset_timeout

Daniel Vetter daniel.vetter at ffwll.ch
Fri Aug 7 10:29:17 PDT 2015


Convenience wrapper suggested by Chris for igt_set_timeout(0, NULL).

v2: While at it add an empty line in kms_flip to make
set/reset_timeout a visual block.

Cc: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
---
 lib/igt_core.c    | 14 +++++++++++++-
 lib/igt_core.h    |  2 ++
 lib/igt_debugfs.c |  2 +-
 tests/kms_flip.c  |  3 ++-
 4 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index e2c2502bd147..c70176fb4962 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -1771,7 +1771,8 @@ static void igt_alarm_handler(int signal)
  * marked as failed.
  *
  * Any previous timer is cancelled and no timeout is scheduled if @seconds is
- * zero.
+ * zero. But for clarity the timeout set with this function should be cleared
+ * with igt_reset_timeout().
  */
 void igt_set_timeout(unsigned int seconds,
 		     const char *op)
@@ -1792,6 +1793,17 @@ void igt_set_timeout(unsigned int seconds,
 	alarm(seconds);
 }
 
+/**
+ * igt_reset_timeout - reset timeout to default
+ *
+ * This function resets a timeout set by igt_set_timeout() and disables any
+ * timer set up by the former function.
+ */
+void igt_reset_timeout(void)
+{
+	igt_set_timeout(0, NULL);
+}
+
 FILE *__igt_fopen_data(const char* igt_srcdir, const char* igt_datadir,
 		       const char* filename)
 {
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 1a324ee85514..1d77f4528dea 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -735,6 +735,8 @@ extern enum igt_log_level igt_log_level;
 void igt_set_timeout(unsigned int seconds,
 		     const char *op);
 
+void igt_reset_timeout(void);
+
 FILE *__igt_fopen_data(const char* igt_srcdir, const char* igt_datadir,
 		       const char* filename);
 /**
diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index 6180a2aa56db..3cbc981d684c 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -465,7 +465,7 @@ static bool read_one_crc(igt_pipe_crc_t *pipe_crc, igt_crc_t *out)
 
 	igt_set_timeout(5, "CRC reading");
 	bytes_read = read(pipe_crc->crc_fd, &buf, pipe_crc->line_len);
-	igt_set_timeout(0, NULL);
+	igt_reset_timeout();
 
 	igt_assert_eq(bytes_read, pipe_crc->line_len);
 	buf[bytes_read] = '\0';
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 214cd696fd2f..a595d9f1d69f 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1616,7 +1616,8 @@ static void test_nonblocking_read(int in)
 
 	igt_set_timeout(5, "Nonblocking DRM fd reading");
 	ret = read(fd, buffer, sizeof(buffer));
-	igt_set_timeout(0, NULL);
+	igt_reset_timeout();
+
 	igt_assert_eq(ret, -1);
 	igt_assert_eq(errno, EAGAIN);
 
-- 
2.5.0



More information about the Intel-gfx mailing list