socket 프로그래밍 시 shutdown 호출하면 close는 호출 않 해도
글쓴이: psjcap / 작성시간: 목, 2004/02/12 - 2:19오후
recv하는 thread가 있고..
send하는 thread가 있습니다..
recv쪽에서 에러 또는 0 을 리턴 받으면.. shutdown(s, SHUT_RD)을 호출하고..
send 쪽에서 에러 또는 SIGPIPE가 발생하면.. shutdown(s,SHUT_WR)을 호출하려고 합니다..
SHUT_RD, SHUT_WR 이 두번다 호출 되었다면.. close를 한번더 호출해 주어야 하나요..??
그냥 SHUT_RD, SHUT_WR이 호출되었으니.. close는 않 해 줘도 되나요..??
file descriptor가 shutdown 2번 호출로 반환이 되는건지 궁금합니다..
Forums:
음...
반환 <---- 사용한 자원을 해제하겠다는 뜻이겠죠?
일반적으로 half close는 자원 반납과는 별개로 알고 있습니다.
그냥 입,출력 스트림을 닫는다는 의미로 알고 있습니다.
즉, 두번다 해 줬다고 해도, 명시적으로 커널에게 자원반납을
알리려면 close();를 해줘야 합니다.
제가 예전에 작성했던 코드를 보니 close();를 꼭 해줬네요. ㅡ,.ㅡ;
.
.
.
음... 써놓고 보니 좀 이상(?)하네요. 제 생각이 틀렸다면 알려주십시요.
저도 많이 궁금하네요.
H/W가 컴퓨터의 심장이라면 S/W는 컴퓨터의 영혼이다!
댓글 달기