ROS에서 Sigint handler를 분리하는 방법
ROS를 사용하다보면 여러가지 이유로 escalated to SIGTERM 이라는 메세지와 함께 process가 매우 늦게 죽는 일들이 빈번하게 발생한다. 보통 thread를 돌려놓고 이 thread를 올바르게 종료하지 않고 process종료 시그널을 받으면 남아있는 thread가 혼자 돌다가 죽게 되는 현상인것 같은데(개인적인 의견이며 상황마다 원인이 다를 수 있으니 문제가 있으면 지적 부탁드립니다.) 이를 해결하고자 thread, future, async function등 다양한 방법들을 쓰면서도 해결을 못해서 삽질을 하다가 좋은 방법을 찾아서 공유해보고자 합니다. 사용되는 라이브러리 #include 사용법 다음과 같이 handler 함수를 따로 선언한 후 void my_handler(sig_atom..
2020. 5. 21. 10:36