시그널 핸들러 리턴

macros의 이미지

시그널을 받으면

void sig_handler( int signo )
{
    code...
}
 
main
{
  code....
  {
     code....
 
     시그널 받은지점!!
  }
  code...      <- 위치
}

위의 void sig_handler( int signo ) 같은 시그널 핸들러를 호출하게 되는데

위 핸들러에서 시그널을 받고 핸들러를 호출한 다음 "위치" 라는 지점으로 이동하고 싶습니다.

시그널 핸들러안에서의 goto 문은 힘들꺼 같아서 longjump 를 생각 중인데

longjump 를 시그널 핸들러에서 수행할 경우 예상치 못한 결과가 발생할 수도 있다고 하네요.

더 괜찮은 방법이 있을까요?