【发布时间】:2014-09-14 19:07:52
【问题描述】:
我想使用命名的 fifo 通道,并且我想在我写入这个 fifo 时实现超时。
fd = open(pipe, O_WRONLY);
write(fd, msg, len);
程序被函数打开阻塞,所以使用函数选择将不起作用。 谢谢。
【问题讨论】:
-
O_NONBLOCK不工作吗? -
我需要阻止,但超时
-
我从来没有这样做过,但可以
inotify+select来确定FIFO 是否准备好,然后设置一个悲观的open()和O_NONBLOCK可能会成功吗? -
你为什么要问?你真正想做什么。 FIFO有什么用?另一边的过程是什么,它是如何开始的?你能以某种方式改进双方的代码吗?