2 #include <sys/select.h>
9 int main (int argc, char **argv) {
14 fd = open(argv[1], O_RDWR);
20 FD_SET(STDIN_FILENO, &rfds);
26 retval = select(fd+1, &rfds, NULL, NULL, &tv);
31 if (FD_ISSET(fd, &rfds)) {
32 numread = read(fd, buf, 1);
33 if (numread==0) return;
34 if (numread<0) perror("read()");
35 write(STDOUT_FILENO, buf, numread);
36 } else if (FD_ISSET(STDIN_FILENO, &rfds)) {
37 numread = read(STDIN_FILENO, buf, 1);
38 if (numread==0) return;
39 if (numread<0) perror("read()");
40 write(fd, buf, numread);
41 } else if (FD_ISSET(fd, &rfds)) {
45 //printf("No data within five seconds.\n");