Linux下Pipe问题

学习万物互联 2004-11-02 07:39:20
我在Linux下开发程序,但是现在发现在使用Pipe进行进程通讯的过程中, 调用read或是write
函数有时会停顿500ms左右(Kernal:2.4.19)

例子如下:
进程A调用mkfifo创建管道, 创建子进程B和C, B以只读,NONBLOCK方式打开此管道, C以只写打开

此后C处理Socket上的包(量不大), 同时通过Pipe和B通讯.

目前在B处理socket上的包一段时间后, 和B进行pipe通讯时,出现停顿现象(即write函数在过了500ms左右才返回).

请教一下, 各位有啥经验或是Linux kernal 2.4.19下有没有什么关于pipe的bug,谢了.
...全文
221 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xfzhao_cn 2004-11-11
  • 打赏
  • 举报
回复
看看B是用哪种方式轮循读pipe的,应该是应用程序的问题哦。
学习万物互联 2004-11-06
  • 打赏
  • 举报
回复
问题是在Kernel 2.2.14下是好的.
smaxll 2004-11-05
  • 打赏
  • 举报
回复
当出现问题是,首先应该考虑自己程序的问题
plxyz2000 2004-11-04
  • 打赏
  • 举报
回复
同意楼上的
wzj_1979 2004-11-04
  • 打赏
  • 举报
回复
我也认识是你的程序的问题
gettext 2004-11-03
  • 打赏
  • 举报
回复
kernel的pipe肯定没有bug,还是先看下你的程序结构吧。

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧