投票的例子
要使用
poll,如果要检查
readfd是否可读或
writefd可写:
int readfd;int writefd;// initialize readfd & writefd, ...// e.g. with: open(2), socket(2), pipe(2), dup(2) syscallsstruct pollfd fdtab[2];memset (fdtab, 0, sizeof(fdtab)); // not necessary, but I am paranoid// first slot for readfd polled for inputfdtab[0].fd = readfd;fdtab[0].events = POLLIN;fdtab[0].revents = 0;// second slot with writefd polled for outputfdtab[1].fd = writefd;fdtab[1].events = POLLOUT;fdtab[1].revents = 0;// do the poll(2) syscall with a 100 millisecond timeoutint retpoll = poll(fdtab, 2, 100);if (retpoll > 0) { if (fdtab[0].revents & POLLIN) { } if (fdtab[1].revents & POLLOUT) { }}else if (retpoll == 0) { }else { perror("poll failed");}


