Dum*_*lin 2 c c++ linux concurrency
我试图在Linux下编写2个服务器/客户端程序,它们通过命名管道进行通信.问题是,有时当我尝试从服务器写入不再存在的管道(客户端已停止)时,我收到"资源暂时不可用"错误,服务器完全停止.
我知道这是由于在打开fifo chanel时使用O_NONBLOCK参数引起的,指示程序通常会等到它可以再次写入文件的位置,但有没有办法停止这种行为,而不是停止整个程序是否出现问题(写命令不应该返回-1广告程序继续正常)?
另一个奇怪的事情是,只有在ide(eclipse)之外运行程序时才会出现此错误.如果我在eclipse中运行这两个程序,则错误时write函数只返回-1并且程序继续正常运行.