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>
This commit is contained in:
Chris Wilson 2015-11-25 14:19:15 +00:00
parent 32329b2e7d
commit e10ba6b51c

View File

@ -80,20 +80,21 @@ static void wait_for_event(int fd)
static int setup(int in, int nonblock) static int setup(int in, int nonblock)
{ {
int fd; int fd;
int ret = -1;
alarm(0); alarm(0);
fd = dup(in); fd = dup(in);
if (nonblock) { if (fd != -1)
int ret = -1; ret = fcntl(fd, F_GETFL);
if (fd != -1) if (ret != -1) {
ret = fcntl(fd, F_GETFL); if (nonblock)
if (ret != -1) {
ret |= O_NONBLOCK; ret |= O_NONBLOCK;
ret = fcntl(fd, F_SETFL, ret); else
} ret &= ~O_NONBLOCK;
igt_require(ret != -1); ret = fcntl(fd, F_SETFL, ret);
} }
igt_require(ret != -1);
assert_empty(fd); assert_empty(fd);
return fd; return fd;