thread에서 select
글쓴이: kass73 / 작성시간: 목, 2005/07/14 - 1:38오후
도움 부탁드립니다.
2개의 pthread에서 각각 RAW_SOCKET를 열어서 각각 해당 소켓fd를 select하는데 timeout이 먹질않거나 불규칙적입니다.
즉, thread1은 123.xx.xx.1로 ping packet를 전달하고 select
합니다. 시간은 1초로 timeout정의 하고요...
thread2는 123.xx.xx.2로 ping packet를 전달하고 select합니다. 시간은 마찬가지로 1초 timeout......
이러한 상황에서 계속 ping을 쏘고 수신하고 하는 작업을 계속 수행하다가 123.xx.xx.1로 나가는 lan선을 절단합니다. 그러면
recv ping을 수신하지 못하므로 select time out이 나야 정상인데 select timeout이 나질않고 블록됩니다.. 때로는 몇십초 이상에서 time out이 나고요... 미치겠습니다... 왜이렇죠?
thread에서 select는 사용이 안돼는 건지요? 도움 부탁합니다.
Forums:
select 호출부분 코드를 보여주세요.
select 호출부분 코드를 보여주세요.
혹시나 해서 말하지만.혹시 소켓을 블럭으로 쓰시는건 아닌지요?
혹시나 해서 말하지만.
혹시 소켓을 블럭으로 쓰시는건 아닌지요?
Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.
블럭킹 모드로 소켓 이용하시나요?그렇다면 블럭이 되는건 select
블럭킹 모드로 소켓 이용하시나요?
그렇다면 블럭이 되는건 select 가 아니고 send 일 듯 하군요.
댓글 달기