pthread_cleanup_pop
-
pthread 종료 핸들러(pthread_cleanup_push, pthread_cleanup_pop)IT/Linux C 2012. 1. 13.
얼마전에 thead를 중간에 종료 시키는 방법에 대해서 이야기 했었다. 2012/01/12 - [리눅스(Linux)/개발(Developemnt)] - 생성된 pthread를 중간에 종료시키자.(pthread_cancel) 만약 thread에서 자원을 할당받아 사용 중이라면, thread가 종료 될 때 자원을 반환을 해줘야 할 필요가 있다. 물론 thread 내부 로직을 통하여 할당받은 자원(mutex, heap memory, fd,...)을 알맞게 반환하면 좋겠지만, 중간에 종료되는 경우에는 thread가 종료되기 때문에 자원 반환에 어려움이 있다. 결론적으로 pthread_cleanup_push를 통하여 callback 함수를 등록하면 thread가 종료될 때 등록된 callback 함수를 호출하여 자..