2009년 10월 17일

Linux epoll에서 Listen 소켓의 처리

epoll에서 Listen 소켓에 대하여...
 
edge trigger(default)로 등록해서 사용할 경우에, edge는 여러개가 동시에 오더라고 이벤트가

저장되지 않으므로(epoll man페이지에서 그렇다고 했다.) Listen 소켓은 level 트리거로 등록해야 한다.

또는, Non-blocking 소켓이므로 epoll에 등록하지 않고, accept()함수에서 이벤트가 발생하거나 할일이 없을 때, aceept()를 호출하는 방법도 있다.

Listen 소켓을 edge 트리거로 등록하여 접속 이벤트를 놓치는 버그가 발생하지 않도록 하자~~~
 

 

댓글 없음:

댓글 쓰기