如果是linux(windows、mac都没用过...)用 pthread_sigmask+sigwait+单独启动一个线程专门接收信号,保证信号始终在一个固定的线程里处理,可以避免加锁死锁。
pthread_sigmask:可以保证线程屏蔽这些信号,以及由该线程创建的子线程。
sigwait:等待信号
如果是linux(windows、mac都没用过...)用 pthread_sigmask+sigwait+单独启动一个线程专门接收信号,保证信号始终在一个固定的线程里处理,可以避免加锁死锁。
pthread_sigmask:可以保证线程屏蔽这些信号,以及由该线程创建的子线程。
sigwait:等待信号