diff options
author | millert <millert@openbsd.org> | 2020-08-18 16:39:14 +0000 |
---|---|---|
committer | millert <millert@openbsd.org> | 2020-08-18 16:39:14 +0000 |
commit | bb40c2330ee2b71ddf55773f2b497933c2fa598f (patch) | |
tree | 18d95d37cac5e27263daae1980ebd3c7c8677995 /regress/sys | |
parent | Try to avoid a theoretical infinite loop while detaching all the scsi_link's on (diff) | |
download | wireguard-openbsd-bb40c2330ee2b71ddf55773f2b497933c2fa598f.tar.xz wireguard-openbsd-bb40c2330ee2b71ddf55773f2b497933c2fa598f.zip |
Fix bug in the select() portion of the test, the timeout was ignored.
The select() results are now consistent with what poll() returns.
Diffstat (limited to 'regress/sys')
-rw-r--r-- | regress/sys/fifofs/fifotest.c | 3 | ||||
-rw-r--r-- | regress/sys/fifofs/fifotest.out | 24 |
2 files changed, 13 insertions, 14 deletions
diff --git a/regress/sys/fifofs/fifotest.c b/regress/sys/fifofs/fifotest.c index 949d450167c..100bf69e472 100644 --- a/regress/sys/fifofs/fifotest.c +++ b/regress/sys/fifofs/fifotest.c @@ -326,7 +326,6 @@ doselect(pid_t writer, int rfd, int wfd, int timeout) tv.tv_usec = (timeout % 1000) * 1000; tvp = &tv; } - tv.tv_sec = tv.tv_usec = 0; maxfd = rfd > wfd ? rfd : wfd; if (rfd != -1) { rfds = calloc(howmany(maxfd + 1, NFDBITS), sizeof(fd_mask)); @@ -350,7 +349,7 @@ doselect(pid_t writer, int rfd, int wfd, int timeout) if (writer != -1) kill(writer, SIGUSR1); alarm(2); - nready = select(maxfd + 1, rfds, wfds, NULL, &tv); + nready = select(maxfd + 1, rfds, wfds, NULL, tvp); alarm(0); if (nready < 0) { printf("select: %s\n", strerror(errno)); diff --git a/regress/sys/fifofs/fifotest.out b/regress/sys/fifofs/fifotest.out index 4f5c40f8033..bc0849f4929 100644 --- a/regress/sys/fifofs/fifotest.out +++ b/regress/sys/fifofs/fifotest.out @@ -52,11 +52,11 @@ poll: Interrupted system call select read write, timeout=-1 1 fd(s) ready, writeable select read, timeout=-1 - 0 fd(s) ready +select: Interrupted system call select write, timeout=-1 1 fd(s) ready, writeable select (none), timeout=-1 - 0 fd(s) ready +select: Interrupted system call Testing full FIFO: poll POLLIN|POLLOUT, timeout=-1 @@ -74,7 +74,7 @@ poll: Interrupted system call select write, timeout=-1 1 fd(s) ready, writeable select (none), timeout=-1 - 0 fd(s) ready +select: Interrupted system call received 'test' from FIFO Opened fifo fi.fo.fum (nonblocking) @@ -130,11 +130,11 @@ poll: Interrupted system call select read write, timeout=-1 1 fd(s) ready, writeable select read, timeout=-1 - 0 fd(s) ready +select: Interrupted system call select write, timeout=-1 1 fd(s) ready, writeable select (none), timeout=-1 - 0 fd(s) ready +select: Interrupted system call Testing full FIFO: poll POLLIN|POLLOUT, timeout=-1 @@ -152,7 +152,7 @@ poll: Interrupted system call select write, timeout=-1 1 fd(s) ready, writeable select (none), timeout=-1 - 0 fd(s) ready +select: Interrupted system call received 'test' from FIFO Opened fifo for reading fi.fo.fum (nonblocking) @@ -207,7 +207,7 @@ Opened fifo for reading fi.fo.fum (nonblocking) Testing EOF FIFO behavior (pass 8): select read write, timeout=-1 - 0 fd(s) ready + 1 fd(s) ready, readable received EOF from FIFO Testing EOF FIFO behavior (pass 9): @@ -219,7 +219,7 @@ Opened fifo for reading fi.fo.fum (nonblocking) Testing EOF FIFO behavior (pass 10): select read, timeout=-1 - 0 fd(s) ready + 1 fd(s) ready, readable received EOF from FIFO Testing EOF FIFO behavior (pass 11): @@ -231,22 +231,22 @@ Opened fifo for reading fi.fo.fum (nonblocking) Testing EOF FIFO behavior (pass 12): select write, timeout=-1 - 0 fd(s) ready +select: Interrupted system call received EOF from FIFO Testing EOF FIFO behavior (pass 13): select write, timeout=-1 - 0 fd(s) ready +select: Interrupted system call received EOF from FIFO Opened fifo for reading fi.fo.fum (nonblocking) Testing EOF FIFO behavior (pass 14): select (none), timeout=-1 - 0 fd(s) ready +select: Interrupted system call received EOF from FIFO Testing EOF FIFO behavior (pass 15): select (none), timeout=-1 - 0 fd(s) ready +select: Interrupted system call received EOF from FIFO |