두근두근이야기

level trigger, edge trigger 본문

IT/IT ::Linux

level trigger, edge trigger

골든 2013. 8. 12. 15:42

Level Trigger (LT) 

epoll_wait()의 블록킹이 풀리는 순간 한개의 메시지만 받고 다시 epoll_wait()로 보내어도 

아직 큐(TCP/IP를 이야기하는거다.) 에 메시지가 남아있다면 다시 트리거가 작동해 

epoll_wait()의 블록킹이 풀릴 수 있다. 



Edge Trigger(ET) 

epoll_wait()의 블록킹이 풀리는 순간 한개의 메시지만 받고 다시 epoll_wait()로 보내면 

클라이언트가 메시지를 보낼때까지 epoll_wait()에서 블록킹된다. 만약 클라이언트가 

새로운 메시지를 보낸다면 이전에 큐에 있던 메시지만 가져온다. 

이 문제를 해결하려면 블록킹이 풀렸을때 recv()함수를 더 이상 받은 메시지가 

없을때까지 돌려서 확인해야한다. 

'IT > IT ::Linux' 카테고리의 다른 글

네트워크 관련사이트  (0) 2013.08.19
커널 메세지 실시간으로 찍기  (0) 2013.08.12
time_wait관련글  (0) 2013.08.12
struct sockaddr_in struct sockaddr  (0) 2013.08.12
우분투(ubuntu) man page 설치  (0) 2013.08.09