Met*_*est 9 c linux mutex signals signal-handling
我处于一种情况,我需要在信号处理程序(SIGSEGV信号处理程序,根据我的知识,每个线程基础)内读取二进制搜索树(BST ).BST可以由应用程序中的其他线程修改.
现在由于信号处理程序不能使用信号量,互斥量等因而无法访问共享数据,我该如何解决这个问题呢?请注意,我的应用程序是多线程的,并在多核系统上运行.
您不应该从信号处理程序访问共享数据。您可以在以下文章中找到有关信号的更多信息:
看起来到目前为止在linux中处理信号最安全的方法是signalfd。