Tuesday, March 18, 2008

poll()

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