2016-09-15 2 views

답변

1

setup_rt_frame()실시간 신호 (man 7 signal 참조)에 대해 스택을 설정합니다. 다음과 같은 두 가지 주요 작업을 수행합니다.

  1. 커널 스택에서 사용자 스택으로 (중단되기 전에) 사용자 프로세스의 CPU 컨텍스트를 저장합니다.
    ARM 아키텍처의 경우 setup_sigframe()에서 완료됩니다.
  2. 반환 주소 (신호 처리기가 반환하는 곳)를 사용자 스택에 저장합니다.
    반송 주소는 rt_sigreturn() 시스템 콜을 가리 킵니다 (자세한 내용은 man 2 sigreturn 참조).
    ARM 아키텍처의 경우 setup_return()에서 완료됩니다.

신호 처리기가 완료되면 커널에서 자동으로 sys_rt_sigreturn() 기능으로 돌아갑니다. 이 함수는 사용자 스택에서 커널 스택을 복원하고 중단 된 사용자 공간 프로세스로 돌아갑니다. 이

을 할당 해제된다

그래서, 당신의 질문에 대답?

기능이 sys_rt_sigreturn()에 복원 중입니다.

참조 :

[1] How signals work internally?

[2] Who uses POSIX realtime signals and why?

[3] Implementation of signal handling (행 "신호 (7)으로 전송"섹션을 참조 "(12 전달 신호)")