summaryrefslogtreecommitdiff
path: root/tests/drm_read.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-11-25 14:19:15 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2015-11-25 14:33:49 +0000
commite10ba6b51c028ce945605d1f720c598c93e8ad8f (patch)
treea4cd4cbcb6171c8951eceb0418b094466236bba2 /tests/drm_read.c
parent32329b2e7dd9b6b69a397da0356bd1ebc6a45901 (diff)
igt/drm_read: Clear O_NONBLOCK between tests
Ensure that O_NONBLOCK isn't accidentally set when we want a nonblocking file descroptor. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/drm_read.c')
-rw-r--r--tests/drm_read.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/tests/drm_read.c b/tests/drm_read.c
index d18cb55e..faa3df86 100644
--- a/tests/drm_read.c
+++ b/tests/drm_read.c
@@ -80,20 +80,21 @@ static void wait_for_event(int fd)
static int setup(int in, int nonblock)
{
int fd;
+ int ret = -1;
alarm(0);
fd = dup(in);
- if (nonblock) {
- int ret = -1;
- if (fd != -1)
- ret = fcntl(fd, F_GETFL);
- if (ret != -1) {
+ if (fd != -1)
+ ret = fcntl(fd, F_GETFL);
+ if (ret != -1) {
+ if (nonblock)
ret |= O_NONBLOCK;
- ret = fcntl(fd, F_SETFL, ret);
- }
- igt_require(ret != -1);
+ else
+ ret &= ~O_NONBLOCK;
+ ret = fcntl(fd, F_SETFL, ret);
}
+ igt_require(ret != -1);
assert_empty(fd);
return fd;