在我的用户空间Linux应用程序中,我有一个通过管道与主进程通信的线程。以下是代码:
static void _notify_main(int cond)
{
int r;
int tmp = cond;
r = write( _nfy_fd, &tmp, sizeof(tmp) );
ERROR( "write failed: %d. %s\n", r, strerror(r) );
}
非常直白。它已经运行良好了相当一段时间。但最近,在程序经过一些压力测试后,写入调用将失败,并显示“中断的系统调用”错误。
奇怪的是,数据实际上没有问题地通过了管道。当然,我仍然想找出错误消息的原因并消除它。
谢谢。