diff options
Diffstat (limited to 'tests/modetest')
| -rw-r--r-- | tests/modetest/modetest.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index c12699cb..0a60c896 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -618,6 +618,7 @@ set_mode(struct connector *c, int count, int page_flip)  	evctx.page_flip_handler = page_flip_handler;  	while (1) { +#if 0  		struct pollfd pfd[2];  		pfd[0].fd = 0; @@ -632,6 +633,24 @@ set_mode(struct connector *c, int count, int page_flip)  		if (pfd[0].revents)  			break; +#else +		struct timeval timeout = { .tv_sec = 3, .tv_usec = 0 }; +		fd_set fds; +		int ret; + +		FD_ZERO(&fds); +		FD_SET(0, &fds); +		FD_SET(fd, &fds); +		ret = select(fd + 1, &fds, NULL, NULL, &timeout); + +		if (ret <= 0) { +			fprintf(stderr, "select timed out or error (ret %d)\n", +				ret); +			continue; +		} else if (FD_ISSET(0, &fds)) { +			break; +		} +#endif  		drmHandleEvent(fd, &evctx);  	}  | 
