我正在开发一个在嵌入式ARM Linux上运行的软件。它使用Posix线程,并在为我的计算机编译时运行良好。信号以一种奇怪的方式处理。我知道,对于线程来说,信号是很棘手的,所以我会阻止它们,并且只允许它们在正确处理它们的线程中。然而,在我的手臂盒,这条线不能捕捉到任何信号。这个机箱里的系统已经过时了,它使用Linux2.6.9,我的工具链是GCC 3.3.2。有人知道Posix线程在这种系统上的某些限制吗?下面是一些处理信号的代码:* Thread that ju
我发现以下代码在macOS和Linux中的工作方式不同:#include <unistd.h> printf( "sigwait() returned for signal %d\n", sig );}
换句话说,它看起来就像sigwait()在等待期间阻塞了等待掩码之外的所有信号当相同的程序在Linux上运行时,SIGINT就会