1/* $OpenBSD: pollretval.c,v 1.2 2021/12/26 13:32:05 bluhm Exp $ */ 2 3#include <stdio.h> 4#include <poll.h> 5#include <unistd.h> 6#include <stdlib.h> 7#include <err.h> 8 9int 10main(void) 11{ 12 struct pollfd pfd[100]; 13 int i, r, r2 = 0; 14 15 for (i = 0; i < 100; i++) { 16 pfd[i].fd = 0; 17 pfd[i].events = arc4random() % 0x177; 18 } 19 20 r = poll(pfd, 100, INFTIM); 21 22 if (r == -1) 23 errx(1, "poll failed unexpectedly"); 24 25 for (i = 0; i < 100; i++) 26 if (pfd[i].revents) 27 r2++; 28 if (r != r2) 29 errx(1, "poll return value %d miscounts .revents %d", r, r2); 30 31 return 0; 32} 33