1 #include <err.h> 2 #include <stdio.h> 3 #include <string.h> 4 #include <sysexits.h> 5 #include <netinet/in.h> 6 #include <sys/select.h> 7 #include <sys/socket.h> 8 #include <sys/types.h> 9 10 #define MANY 80 11 12 int 13 main(int argc, char *argv[]) 14 { 15 fd_set write_fds; 16 int fd[MANY+3], i, maxfd; 17 18 FD_ZERO(&write_fds); 19 for (i = 0; i < MANY; ++i) { 20 if ((fd[i] = socket(PF_INET, SOCK_DGRAM, 0)) == -1) 21 err(EX_OSERR, "socket(2) failure"); 22 23 FD_SET(fd[i], &write_fds); 24 maxfd = fd[i]; 25 } 26 27 i = select(maxfd+1, NULL, &write_fds, NULL, NULL); 28 29 if (i == MANY) 30 printf("ok\n"); 31 32 return (0); 33 } 34