当多线程应用程序中的Linux发生分段故障并调用处理程序时,是否所有其他线程在调用处理程序之前立即停止? 那么,依赖于在分段故障处理期间不会执行任何parralel代码的事实是否合适? 谢谢。
答案 0 :(得分:0)
从signal(7)
手册页:
可以为整个过程(例如,当使用kill(2)发送时)或针对特定线程(例如,某些信号,例如SIGSEGV和SIGFPE,生成为信号)生成(并因此待决)信号。执行特定机器语言指令的结果是线程指示的,使用pthread_kill(3)针对特定线程的信号也是如此。可以将过程引导的信号传递到当前没有阻塞信号的任何一个线程。如果多个线程的信号未被阻塞,则内核会选择一个任意线程来传递信号。
本段说某些信号,如SIGSEGV
,是特定于线程的。哪个应该回答你的问题。