대기중인 epoll에 fd를 추가하면 어떻게 됩니까?
글쓴이: hanzo69 / 작성시간: 화, 2005/02/22 - 12:34오전
안녕하세요.
epoll로 multi cpu 시스템에서 쓸 overlapped socket IO 라이브러리를 제작중인데 의문이 생겨서 글을 올립니다.
질문 1.
만약 A 쓰레드가 epoll_wait()로 epoll set에 이벤트를 대기중인 상황에서, B 쓰레드가 epoll_ctl()로 위의 epoll set에 socket fd를 추가하면 어떻게 되는지 궁금하더군요.
현재 복수의 쓰레드에 각각의 epoll set에 이벤트 대기를 하게 만들었는데, 쓰레드 사이에 accpt된 peer socket fd를 주고받게 해야 할 일이 생기더군요.
질문 2.
만약 A 쓰레드가 epoll_wait()로 epoll set에 이벤트를 대기중인 상황에서, B 쓰레드가 epoll_ctl()로 위의 epoll set에 추가된socket fd를 close하면 문제가 생기는지 알고 싶습니다.
테스트를 해보기 전에 혹시나 경험이 있으신 분 계시면 좀 답변을 받을 수 있을까 해서 질문드립니다.
man page의 epoll 관련 문서를 보면 멀티쓰레드 환경에 대한 설명이 너무 빈약하던데.. 혹시나 epoll관련 커뮤니티나 관련 문서를 아시는 분 계시면 좀 가르쳐주시면 고맙겠네요.
그럼 모두들 좋은 하루 되시길..
Forums:
댓글 달기