我在 C++ 中遇到了一个错误情况,我无法在调用 pthread_join() 时轻松重现一些信号,我不知道是哪一个,但是我的信号处理程序被调用了,并且由于某种原因没有打印出正常的调试信息在产生的信号上。我确实得到了一个堆栈跟踪,显示:
# 2 /lib/tls/libpthread.so.0: pthread_join(...) +0x1c [0xce439c]
我查看了 pthread_join() 的手册页,没有看到任何关于信号的提及。
产生的信号可能是什么,原因可能是什么?这可能是某种竞争条件。