关于fifo创建和打开
2016-04-01 11:28
218 查看
1.open时定义的O_NONBLOCK指的不是从管道读取时的非阻塞,而是open本身非阻塞,当不使用O_NONBLOCK打开fifo时,只读open要阻塞到某个其它进程为写而打开它为止;
2.只写open同上;
3.如果open
with O_NONBLOCK,当只读open时,事先没有进程为写而打开FIFO(且必须是不使用O_NONBLOCK阻塞式),会返回-1,errno为6,提示没有相对应路径的fifo;只写open亦然。
4.所以fifo必须在两个进程中打开,且必须一个阻塞,一个非阻塞,所以以此方式打开的fifo是严格单向的;
5.使用O_RDWR来打开fifo是一个常用的解决方法。
2.只写open同上;
3.如果open
with O_NONBLOCK,当只读open时,事先没有进程为写而打开FIFO(且必须是不使用O_NONBLOCK阻塞式),会返回-1,errno为6,提示没有相对应路径的fifo;只写open亦然。
4.所以fifo必须在两个进程中打开,且必须一个阻塞,一个非阻塞,所以以此方式打开的fifo是严格单向的;
5.使用O_RDWR来打开fifo是一个常用的解决方法。
相关文章推荐
- saltstack pkg模块用法
- php的mongodb扩展插件安装
- 访问网络------开源-Retrofit
- codeblocks c++ 编译出错
- Hibernate 配置
- 创建数据库表索引
- Android中 MVP模式的使用
- codeblocks c++ 编译出错
- wifi详解(一)
- pry与ruby版本冲突
- oracle监听配置
- 博客迁移通知
- PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
- HTML学习(六)——表单
- SSH Secure Shell Client远程登录Linux
- 深入mysql慢查询设置的详解
- saltstack安装包和文件同步
- PHP页面3中跳转方法
- EasyUi combotree 实现动态加载树节点
- Linux Kernel系列一:开篇和Kernel启动概要