socket select() function의 return 값과 errno 문의.

불량청년의 이미지

recvdata() 함수에서 select()로 readfd가 셋되면 socket data를 read하도록 구현했습니다.

그런데 select의 timeout이 발생하여 0을 리턴하는데 errno를 검사해 보니 22로 나오는데요.

22를 찾아보니 invalid argument라고 나오는데... 이 22값의 의미를 잘 모르겠네요.

조언 부탁 드립니다. ^^;

ymir의 이미지

errno 는 select 의 return 값이 -1 일 때에만 의미가 있습니다.
(-1 을 return 할 때에만, errno 에 값을 설정한다는 뜻)

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

불량청년의 이미지

아~ -1(error)일 경우에만 의미가 있는 것이군요. ^^;
답변 감사합니다.

H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!