signal (1) 썸네일형 리스트형 소켓 강제 종료시 파이프(pipe) 깨짐 상황 : 서버 프로세스가 떠 있고, 거기에는 수많은(이라고 해봐야 1000개 미만)의 클라이언트 들이 물려 있다. 서버는 select로 read 이벤트를 구분하고, 서버의 listen socket은 blocking이다. 정상적으로 동작하다가 클라이언트(테스트 프로그램으로써 수백개의 connection thread를 생성 시켜 서버로 미친듯이 데이터를 주고 받는 놈)를 강제 종료 하면 항상 그런 것은 아니지만 종종 '파이프 깨짐'이라는 에러를 내고 서버가 종료 된다. 문제 : 프로세스는 종료(그것이 타의든 자의든)를 하게 되면 모든 열려있는 파일디스크립터를 닫게 된다. socket 역시 일종의 파일디스크립터이므로 예외는 아니다. 정상적인 수순을 따르자면 1. client가 죽는다. 2. 모든 열린 파일디스.. 이전 1 다음