运维开发网

Linux:打开命名管道进行写入时超时

运维开发网 https://www.qedev.com 2020-06-11 08:46 出处:网络
我有一个进程通过命名管道写入另一个进程.阅读器过程可能会出现行为异常而无法打开阅读管道.如果发生这种情况,我的表现良好的编写器进程将挂起其open()调用.
我有一个进程通过命名管道写入另一个进程.阅读器过程可能会出现行为异常而无法打开阅读管道.如果发生这种情况,我的表现良好的编写器进程将挂起其open()调用.

我希望编写器能够在打开管道时超时,这样如果读者没有及时打开它,它可以清理并继续运行.非阻塞open()会立即返回错误. 如果是一个选项,请使用unix域套接字来实现这样的场景.由于FIFO的语义,这是一种尴尬的方式来做到这一点,你可能会在开放之前遇到问题.如果有必要,这种设计不会超出一个客户.你可以在短期内强制执行你对FIFO的意愿,但我怀疑你会后悔的.

插座更适合这种情况.你的监听套接字非常适合你现有的poll(),客户端连接,编写器转储他的数据,两端断开连接,每个人都很高兴.没有大惊小怪,没有麻烦.

0

精彩评论

暂无评论...
验证码 换一张
取 消