当信号量(灯)遇上信号,help!解决方案

当信号量(灯)遇上信号,help!
问题是这样的:
程序开了几个写进程,一个读进程,使用共享内存传递数据,使用信号量(灯)锁定来同步,现在的问题是,如果程序在前台运行时,当几个写进程在信号量上等待时,使用ctrl+z(SIGSTOP)后,在此信号量上等待的进程信号量操作都会出错。因为SIGSTOP不能ignore且不能捕获,这个问题很让我头大


放到后台去?


鄙视楼主…

信号会打断所有阻塞操作,所以你能做的就是
while ( 1 )
{
if ( do() == -1 && errno == EINTR )
continue;
}

当信号量(灯)遇上信号,help!解决方案

相关文章:

你感兴趣的文章:

标签云: