shutdown한 녀석이 select에 걸리네요...

purewell의 이미지

void SockMain(...)
{
  ...
  while(1)
  {
    test_rfds=readfds;
    test_efds=readfds;
    nSelectResult=select(FD_SETSIZE, &test_rfds, NULL, &test_efds, &tv);
    ...
  }
  ...
}

위의 코드에서 accept한 녀석을 fdset에 넣어놓고

패킷을 recv로 받아서 알맞지 않은 녀석이면 shutdown(n, 2);로

끊어버립니다.

문제는 :roll: 끊었는데도 select의 test_efds영역에 잡히질 않아요.

ㅡ_-) 어떻게 된 영문인지...

B00m의 이미지

소스가 짧고 질문 상황이 명확하지 않아 정확한 답변을 드릴수는 없지만..

fork 를 이용한 경우거나 shutdown 한 시점에 따라 select 에 안 걸릴수도 있습니다.