시그널 핸들러에서 free나 sem_unlink를 호출하는게 문제가 있나요?

vananamilk의 이미지

안녕하세요.

데몬을 만들고 있는데 중복실행을 방지하기 위해 SIGTERM, SIGINT, SIGSEGV등의
시그널을 잡고 핸들러를 호출하게 하는데요. 그 핸들러에서 free, sem_unlink등을
호출하고 있습니다. 실행이나 종료시 별 문제가 없어 보이는데 이런글을 kldp에서 발견했습니다.

http://kldp.org/node/92221

내용은 시그널 핸들러에서는 함수 호출이 제약적이다. free 같은 함수를 호출하는 것은
잘못된 프로그램이다.

free()는 안해도 상관없을듯 한데 sem_unlink를 해야 하거든요.
이런 구조가 잘못된 프로그램인가요?

stypr의 이미지