솔라리스에서의 usleep문제...
글쓴이: xian / 작성시간: 화, 2007/12/04 - 3:32오후
솔라리스에서 한 프로세스에서 스레드를 여러개 돌리면서 usleep을 사용했는데
간혹 "경보 시계(Alarm Clock)" 메시지가 뜨고 프로세스가 종료해 버립니다.
그래서 여기에서 검색해 보니깐
signal(SIGALRM, SIG_IGN); 로 알람 시그널을 무시하라고 그래서 무시를 했습니다.
그랬더니 프로세스가 죽지는 않는데 스레드가 멈춰버리는 문제가 생기 더군요..
왜 그런지... usleep 사용을 못한다면 usleep대용으로 사용할 수 있는
다른 함수가 있을까요??
Forums:
...
select()로 usleep()을 구현해서 사용해 보세요.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
man nanosleep
man page를 보면 usleep은 MT-Level이 Safe고 nanosleep은 MT-Safe입니다.
차이점은 현재 문서를 가지고 있지 않아서 ^^ docs.sun.com에 thread문서를 :0
여튼 nanosleep을 한번 사용해보시지요
오호..
select를 그런 용도로 쓸 수 있겠군요 ㅎㅎㅎ 기발한데요..
nanosleep이라는 함수 있는지는 첨알았습니다.
일단 코딩해보고 둘 중에 괜찮은 것을 써야겠네요..
답글 정말 감사합니다. ^^;
댓글 달기