|
很简单的一个程序,
void SigAlrmHdl(int v_iSigNo) {
printf("SigAlrmHdl_BEGIN\n");
while(1);
printf("SigAlrmHdl_END\n");
}
int main() {
signal(SIGALRM, SigAlrmHdl);
printf("raise_BEGIN\n");
raise(SIGALRM);
printf("raise_END\n");
while(1);
return 0;
}
结果是
raise_BEGIN
SigAlrmHdl_BEGIN
就停住了,证明raise()被阻塞了,有什么办法能够不阻塞raise和kill调用呢? |
|