aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-05-17 17:51:55 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-05-17 17:51:55 +0000
commita668770a4268fd4c61ae365a90e354bd073755b4 (patch)
treedf2ee550082629fe28e540dfd5ae5e9b174510f7
parent982518dd32b247913fcf8e0b12f9f9f32415658b (diff)
downloadskalibs-a668770a4268fd4c61ae365a90e354bd073755b4.tar.gz
iopause_select: do not FD_SET on partial match
-rw-r--r--src/libstddjb/iopause_select.c6
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) ;
}
}