我正在处理需要在每个线程中阻止某些信号的应用程序。该应用还动态链接了一个库(libcpprest.so),该库在初始化期间创建了一个线程池。自然,由于主可执行文件没有机会执行任何代码,因此这些线程将信号畅通无阻-导致神秘的崩溃。
是否可以在动态链接库有机会创建线程之前阻塞信号?
(我知道)不可接受的解决方案:
静态链接库,并使用init_priority
确保信号尽快被阻止
使用“启动程序”实用程序来阻止信号并启动可执行文件(它将继承信号掩码)
答案 0 :(得分:0)
似乎不可能-如果共享库确实需要这么早地创建线程,则共享库应阻止已创建线程中的所有信号。