#include #include #include #include #include #include int main(){ int fd1, fd2; fd_set read_set, write_set; char buf[10]; struct timeval timeout; int n; timeout.tv_sec = 10; fd1 = open("./pone", O_RDWR); fd2 = open("./ptwo", O_RDWR); FD_ZERO(&read_set); FD_SET(fd1, &read_set); FD_SET(fd2, &read_set); n = select(FD_SETSIZE, &read_set, NULL, NULL, &timeout); if( n < 0 ){ perror("select "); exit(1); } // test whether fd1 is ready or not if( FD_ISSET(fd1, &read_set) ){ printf(" reading from fd1 (pone)\n"); n = read(fd1, buf, 10); printf(" read data = %s from pone \n", buf); } // test whether fd2 is ready or not if( FD_ISSET(fd2, &read_set) ){ printf(" reading from fd2 (ptwo)\n"); n = read(fd2, buf, 10); printf(" read data = %s from ptwo \n", buf); } return 0; }