비동기 신호 처리와 비교하여 동기 신호 처리 (SIGSEGV, SIGILL 등)에 대한 리소스를 찾으려고합니다.동기 신호 처리
일반적인 신호 처리 메커니즘 (예 : kill 사용)은 커널에서 사용자 모드로의 제어 전송시 신호 처리기를 호출합니다. 동기 신호는 일반적으로 CPU 인터럽트 (메모리 보호 등)와 관련되어 있고 커널 처리기가 호출되기 때문에 '동기식'신호가 시스템 호출과 유사하게 작동합니다.
동기 신호 핸들러에서 'async-signal-unsafe'안전성이있는 libc 기능이 있습니까? 예를 들어 리눅스 mprotect (2) 매뉴얼 페이지가 SIGSEGV 핸들러 내에서 printf를 사용하는 것을 볼 수 있습니다. 이러한 상황에서 기능을 사용할 수 있는지 어떻게 결정할 수 있습니까?
일반적인 유닉스 계열 커널의 동기 신호 처리 방식은 비동기 신호 처리 방식과 어떻게 다릅니 까? 무엇이 그들을 '동기식'으로 만드는가?
신호가 비동기식으로 정의되지 않았습니까? –
잘 모르겠습니다. 이것은 두 가지 유형이 있다고 말합니다 : ftp://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/html_chapter/libc_24.html. –