xref: /dflybsd-src/test/testcases/io/select_3/select_3.c (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino #include <err.h>
286d7f5d3SJohn Marino #include <stdio.h>
386d7f5d3SJohn Marino #include <string.h>
486d7f5d3SJohn Marino #include <sysexits.h>
586d7f5d3SJohn Marino #include <netinet/in.h>
686d7f5d3SJohn Marino #include <sys/select.h>
786d7f5d3SJohn Marino #include <sys/socket.h>
886d7f5d3SJohn Marino #include <sys/types.h>
986d7f5d3SJohn Marino 
1086d7f5d3SJohn Marino #define MANY 80
1186d7f5d3SJohn Marino 
1286d7f5d3SJohn Marino int
main(int argc,char * argv[])1386d7f5d3SJohn Marino main(int argc, char *argv[])
1486d7f5d3SJohn Marino {
1586d7f5d3SJohn Marino     fd_set write_fds;
1686d7f5d3SJohn Marino     int fd[MANY+3], i, maxfd;
1786d7f5d3SJohn Marino 
1886d7f5d3SJohn Marino     FD_ZERO(&write_fds);
1986d7f5d3SJohn Marino     for (i = 0; i < MANY; ++i) {
2086d7f5d3SJohn Marino         if ((fd[i] = socket(PF_INET, SOCK_DGRAM, 0)) == -1)
2186d7f5d3SJohn Marino             err(EX_OSERR, "socket(2) failure");
2286d7f5d3SJohn Marino 
2386d7f5d3SJohn Marino         FD_SET(fd[i], &write_fds);
2486d7f5d3SJohn Marino         maxfd = fd[i];
2586d7f5d3SJohn Marino     }
2686d7f5d3SJohn Marino 
2786d7f5d3SJohn Marino     i = select(maxfd+1, NULL, &write_fds, NULL, NULL);
2886d7f5d3SJohn Marino 
2986d7f5d3SJohn Marino     if (i == MANY)
3086d7f5d3SJohn Marino         printf("ok\n");
3186d7f5d3SJohn Marino 
3286d7f5d3SJohn Marino     return (0);
3386d7f5d3SJohn Marino }
34