diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-05-17 17:51:55 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-05-17 17:51:55 +0000 |
| commit | a668770a4268fd4c61ae365a90e354bd073755b4 (patch) | |
| tree | df2ee550082629fe28e540dfd5ae5e9b174510f7 | |
| parent | 982518dd32b247913fcf8e0b12f9f9f32415658b (diff) | |
| download | skalibs-a668770a4268fd4c61ae365a90e354bd073755b4.tar.gz | |
iopause_select: do not FD_SET on partial match
| -rw-r--r-- | src/libstddjb/iopause_select.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libstddjb/iopause_select.c b/src/libstddjb/iopause_select.c index 45ce19e..6ca2f20 100644 --- a/src/libstddjb/iopause_select.c +++ b/src/libstddjb/iopause_select.c @@ -46,9 +46,9 @@ int iopause_select (iopause_fd *x, unsigned int len, tain const *deadline, tain { if (x[i].fd >= FD_SETSIZE) return (errno = EMFILE, -1) ; if (x[i].fd >= nfds) nfds = x[i].fd + 1 ; - if (x[i].events & IOPAUSE_READ) FD_SET(x[i].fd, &rfds) ; - if (x[i].events & IOPAUSE_WRITE) FD_SET(x[i].fd, &wfds) ; - if (x[i].events & IOPAUSE_EXCEPT) FD_SET(x[i].fd, &xfds) ; + if ((x[i].events & IOPAUSE_READ) == IOPAUSE_READ) FD_SET(x[i].fd, &rfds) ; + if ((x[i].events & IOPAUSE_WRITE) == IOPAUSE_WRITE) FD_SET(x[i].fd, &wfds) ; + if ((x[i].events & IOPAUSE_EXCEPT) == IOPAUSE_EXCEPT) FD_SET(x[i].fd, &xfds) ; } } |
