메일 블럭, 논블럭 .. 뭐가 좋을 지...
글쓴이: 익명 사용자 / 작성시간: 수, 2002/09/11 - 4:09오후
안녕하세요
저는 메일 포워딩 데몬은 만지고 있습니다.
구성은
메일 -> 메일 포워딩 데몬 -> 메일 서버
이런 형식입니다. 즉 메일 포워딩 데몬에서 필요한 걸 수행한 다음에
메일 서버로 보내는 건데요.
가끔 많은 메일을 보내면 '메일 포워딩 데몬'을 거치지 않고 곧바로
메일 서버로 가는 경우도 있습니다.
저는 메일 포워딩 데몬 소스를 blocking 을 바꿨습니다.
아래와 같이요..
112 int flag = (~O_NONBLOCK) & fcntl(sd, F_GETFL);
113 fcntl(sd, F_SETFL, flag);
그랬더니 아직까진 그냥 통과되는 메일은 없더군요..
근데 이런 문제들이 정말로 blocking , noblocking 에 관련된 문제인지.
또 blocking 으로 설정했을때 나타나는 최악의 시나리오는 무엇인지
궁금합니다.
Forums:
Re: 메일 블럭, 논블럭 .. 뭐가 좋을 지...
블럭의 문제점이라는 건... 말 그대로, 블록입니다. -_-;;;
데이터가 올 때 까지 한 없이 기다린다는 거죠. 특히, 단일 스레드
라면 다른 작업을 전혀 못하므로 문제가 되겠죠.
하지만, 데이터를 받아야만 활동을 하는 작업이라면,
별문제 없을 듯합니다. 그럼 고운 하루...
ps. 솔직히 MFC 의 CSocket은 블록킹 소켓인데, 논블록킹을
데이터가 올 때까지 무한히 계속하는 것로 구현되어 있습니다.
댓글 달기