1*6c9a98a4Sbluhm /* $OpenBSD: pollretval.c,v 1.2 2021/12/26 13:32:05 bluhm Exp $ */ 2*6c9a98a4Sbluhm 342ebeb7dSderaadt #include <stdio.h> 442ebeb7dSderaadt #include <poll.h> 542ebeb7dSderaadt #include <unistd.h> 642ebeb7dSderaadt #include <stdlib.h> 742ebeb7dSderaadt #include <err.h> 842ebeb7dSderaadt 942ebeb7dSderaadt int main(void)10*6c9a98a4Sbluhmmain(void) 1142ebeb7dSderaadt { 1242ebeb7dSderaadt struct pollfd pfd[100]; 1342ebeb7dSderaadt int i, r, r2 = 0; 1442ebeb7dSderaadt 1542ebeb7dSderaadt for (i = 0; i < 100; i++) { 1642ebeb7dSderaadt pfd[i].fd = 0; 1742ebeb7dSderaadt pfd[i].events = arc4random() % 0x177; 1842ebeb7dSderaadt } 1942ebeb7dSderaadt 2042ebeb7dSderaadt r = poll(pfd, 100, INFTIM); 2142ebeb7dSderaadt 2242ebeb7dSderaadt if (r == -1) 2342ebeb7dSderaadt errx(1, "poll failed unexpectedly"); 2442ebeb7dSderaadt 2542ebeb7dSderaadt for (i = 0; i < 100; i++) 2642ebeb7dSderaadt if (pfd[i].revents) 2742ebeb7dSderaadt r2++; 2842ebeb7dSderaadt if (r != r2) 2942ebeb7dSderaadt errx(1, "poll return value %d miscounts .revents %d", r, r2); 30*6c9a98a4Sbluhm 31*6c9a98a4Sbluhm return 0; 3242ebeb7dSderaadt } 33