我在处理 SIGABRT 信号时遇到了信号处理程序的问题。在处理 SIGABRT 时,信号处理程序无法调度。因此,在有人收到 SIGABRT 后,其他线程无法运行。这会导致程序不正确的崩溃。但是,在处理 SIGSEGV 时,它被正确调度并且其他线程能够运行。
收到信号后,我将一些恢复机制发布到另一个线程。对于 sigsegv 它正在执行,对于 SIGABRT 它不是因为线程本身没有被调度。
仅供参考:我正在为具有> 150个线程的进程使用基于优先级的RR调度。
我在处理 SIGABRT 信号时遇到了信号处理程序的问题。在处理 SIGABRT 时,信号处理程序无法调度。因此,在有人收到 SIGABRT 后,其他线程无法运行。这会导致程序不正确的崩溃。但是,在处理 SIGSEGV 时,它被正确调度并且其他线程能够运行。
收到信号后,我将一些恢复机制发布到另一个线程。对于 sigsegv 它正在执行,对于 SIGABRT 它不是因为线程本身没有被调度。
仅供参考:我正在为具有> 150个线程的进程使用基于优先级的RR调度。