CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): HellCat (Nobody)
날 짜 (Date): 2003년 4월 16일 수요일 오후 12시 50분 43초
제 목(Title): Re: [Q] Broken pipe.


음..이거 어떻게 설명을 해야 할까 좀 그런데요.

여러가지 방법이 있는데요...

일단 서버가 만약 accept  하고 나서  fork() 를 한다던지 하면
child 에서 SIGPIPE  핸들러에선 뭐 별로 할일 없으니 그냥 error exit 
해도 될테고..만약 뭐 다른 일을 더 해야 한다면
handler 안에서 global flag set 해주고 system call error return
시에 errno 하고 global flag 체크 해서
연결 짤린 socket cleanup 해줘도 되고.

또 시그날도 sigaction 으로 system call 시에 핸들러만 사용하고
에러리턴 하지 않게 해주면 또 방법이 조금 달라지고.

하여간 서버 디자인이랑 에러리턴시에 해야 할 일에 따라 방법이
참 많은데요. 좀 무식한 방법이지만 아예 SIGPIPE 무시하게 해서도
할수는 있는데요..

써놓고 보니 별 도움 안되는 소리만 나열 한것 같은데, 이런거 스티븐스아저씨
책에 나올텐데...

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.