Skip to content

Latest commit

 

History

History
9 lines (8 loc) · 608 Bytes

윤성우TCP책_에러.md

File metadata and controls

9 lines (8 loc) · 608 Bytes

2012년 12월 5쇄판
책의 내용(pg278)과 다르게 FD_ISSET는 꼭 양수를 반환하는 것은 아닙니다.
우선, 우리가 알고있는 것은 다음과 같습니다.

  1. fd_set[32]에서 각 요소는 int형(4byte)이다
  2. 따라서, 8(bit/byte) * 4(bytes/개) * 32개 = 1024 bits의 크기를 가진다.
  3. 각 bit의 ON/OFF는 fd의 상태를 말해준다.

이때, FD_ISSET의 반환값은 4byte로 fd % 32 값의 bit가 1로 설정됩니다.
반환형의 자료형이 signed int이기 때문에 32번째 bit가 1로 설정되어있다면, 음수로 인식될 수 있습니다.