2

当多线程应用程序中的 Linux 发生分段错误并调用处理程序时,是否所有其他线程在调用处理程序之前立即停止?那么,在分段错误处理期间不会执行任何并行代码这一事实是否合适?谢谢你。

4

1 回答 1

0

signal(7)手册页:

可以为整个进程(例如,当使用 kill(2) 发送时)或为特定线程(例如,作为执行结果生成的某些信号,例如 SIGSEGV 和 SIGFPE)生成(并因此挂起)信号特定的机器语言指令是线程导向的,使用 pthread_kill(3) 的特定线程的信号也是如此。进程导向的信号可以被传递到当前没有阻塞信号的任何一个线程。如果多个线程的信号被解除阻塞,那么内核选择一个任意线程来传递信号。

这一段说某些信号,比如SIGSEGV,是线程特定的。哪个应该回答你的问题。

于 2012-08-13T16:18:12.760 回答