시그널 핸들러에서 free나 sem_unlink를 호출하는게 문제가 있나요?
글쓴이: vananamilk / 작성시간: 목, 2010/01/07 - 12:54오전
안녕하세요.
데몬을 만들고 있는데 중복실행을 방지하기 위해 SIGTERM, SIGINT, SIGSEGV등의
시그널을 잡고 핸들러를 호출하게 하는데요. 그 핸들러에서 free, sem_unlink등을
호출하고 있습니다. 실행이나 종료시 별 문제가 없어 보이는데 이런글을 kldp에서 발견했습니다.
내용은 시그널 핸들러에서는 함수 호출이 제약적이다. free 같은 함수를 호출하는 것은
잘못된 프로그램이다.
free()는 안해도 상관없을듯 한데 sem_unlink를 해야 하거든요.
이런 구조가 잘못된 프로그램인가요?
Forums:
http://www.opengroup.org/onli
http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html
를 참조하세요.
댓글 달기