Signal 가로채기?
글쓴이: 익명 사용자 / 작성시간: 월, 2002/04/08 - 5:53오후
멀티 쓰레딩을 이용하여 프로그램을 짜고 있는데요..
SIGINT 를 처리하려하는데...
main()가 있는 부분에 시그널 핸들러를 등록했습니다.
그런데 콘솔에서 Ctrl+C 를 누르면 main 이 시그널을 먹지 않고
엉뚱하게 라이브러리가 먹어버리네요...
여기서 라이브러리는 하드웨어 제어하는 라이브러린데...
이쪽에서 SIGINT를 먹어버리니 막상 제가 짠 프로그램에서 SIGINT를
처리하지 못하고 있습니다...
SIGINT를 main에서 처리하는 방법이 있을까요?
Forums:
Re: Signal 가로채기?
아마 하드웨어 제어 모듈이 SIGINT를 재정의 한듯 한데요.
그것을 막아도 되는지가 의문스럽네요.
signal은 계층적으로 정의할수 없습니다.
만약 님께서 하드웨어 제어모듈과 자신의 main 둘다 동작하길 원하면
이전의 signal를 저장한후 자신의 모듈에서 그부분을 다시 Call해야
합니다.
그리고 해결책은 h/w모듈 init다음에 signal을 설정 하세요.
댓글 달기