poll() 역시 Multiplexed I/O 구현할 수 있는 함수 중의 하나이다.
- Data types
struct pollfd {
int fd;
short events; // 감시할 이벤트
short revents; // 그것들 중 발생한 이벤트
} - Headers
unistd.h, sys/poll.h - events에서 사용하는 flags 설명
- read 관련
POLLIN
POLLPRI
POLLRDNORM
POLLRDBAND
(POLLIN + POLLPRI = 셀렉트()의 read와 같다.)
- write 관련 flag
POLLOUT
POLLWRBAND
POLLWRNORM
(POLLOUT + POLLWRBAND = 셀렉트()의 write 와 같다.) - poll()
int poll(struct pollfd *fds, unsigned int nfds, int timeout);
fds는 pollfd의 배열이고,
nfds는 그것의 갯수. - 에러 값들은 ... man 페이지를 참조하자.
- 참고로, Unix 시스템은 poll()을 지원하지 않는다.
No comments:
Post a Comment