2012년 12월 5쇄판 책의 내용(pg278)과 다르게 FD_ISSET는 꼭 양수를 반환하는 것은 아닙니다. 우선, 우리가 알고있는 것은 다음과 같습니다.
- fd_set[32]에서 각 요소는 int형(4byte)이다
- 따라서, 8(bit/byte) * 4(bytes/개) * 32개 = 1024 bits의 크기를 가진다.
- 각 bit의 ON/OFF는 fd의 상태를 말해준다.
이때, FD_ISSET의 반환값은 4byte로 fd % 32 값의 bit가 1로 설정됩니다. 반환형의 자료형이 signed int이기 때문에 32번째 bit가 1로 설정되어있다면, 음수로 인식될 수 있습니다.