unix 网络编程卷2 第43页 管道:open竟然会阻塞?
创建fifo管道的时候,open会阻塞?
还是我的代码有问题?
- #include <stdio.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <sys/types.h>
- #Include <sys/stat.h>
- #define FIFO1 "/tmp/fifo.1"
- #define FIFO2 "/tmp/fifo.2"
- #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
- int main()
- {
- int rfd, wfd;
- if ((mkfifo(FIFO1, FILE_MODE) < 0) && errno != EEXIST)
- {//error
- exit(0);
- }
- if ((mkfifo(FIFO2, FILE_MODE) < 0) && errno != EEXIST)
- {//error
- exit(0);
- }
- fprintf(stderr, "before open\n");
- rfd = open(FIFO1, O_RDONLY, 0);
- wfd = open(FIFO2, O_WRONLY, 0);
- fprintf(stderr, "after open\n");
- //到这里出现问题,after open一直没有打印出来。
- }
man 3 open.一般3的解释较2的解释详细.
- O_NONBLOCK
- When opening a FIFO with O_RDONLY or O_WRONLY set:
- * If O_NONBLOCK is set, an open() for reading-only shall return without delay. An open() for writing-only shall return an error if no process currently has the file open for reading.
- * If O_NONBLOCK is clear, an open() for reading-only shall block the calling thread until a thread opens the file for writing. An open() for writing-only shall block the calling thread until a thread opens the file for reading.
复制代码
转载于:https://www.cnblogs.com/YL450606975/p/4427238.html
unix 网络编程卷2 第43页 管道:open竟然会阻塞?相关推荐
- 《Unix网络编程卷1-套接字联网API》第一个例子编译 不通过问题解决
<Unix网络编程卷1-套接字联网API>是本好书. 但是第一个例子不是很好编译. 需要如下步骤: 本人机器CentOS 5.4 1.下载源码 unpv13e解压到任意目录 然后按其rea ...
- 《UNIX网络编程 卷1:套接字联网API》学习笔记——基本TCP套接字编程
UNIX网络编程--基本TCP套接字编程 socket 函数 connect 函数 bind 函数 listen 函数 accept 函数 fork 和 exec 函数 并发服务器 close 函数 ...
- 《UNIX网络编程 卷1:套接字联网API(第3版)》——第2章 传输层:TCP、UDP和SCTP 2.1概述...
本节书摘来自异步社区<UNIX网络编程 卷1:套接字联网API(第3版)>一书中的第2章,第2.1节,作者:[美]W. Richard Stevens , Bill Fenner , An ...
- 1.UNIX网络编程卷1:源码配置
本节主要介绍UNIX网络编程卷1(第三版)在Ubuntu16.04的配置问题,并运行一个简单时间获取客户程序. 1.首先下载源文件,链接如下:UNIX Network Programming Sour ...
- 《UNIX网络编程卷1》第一例及问题
<UNIX网络编程卷1>一上来就给了一个例子,新手不容易看懂,估计作者也没有打算让人看懂,作了详尽的解释.新手都想运行这个程序,我也是. 首先,给的程序都是在unix下运行的.这里有全书代 ...
- 《UNIX网络编程 卷2:进程间通信(第2版)》——1.4 名字空间
本节书摘来自异步社区<UNIX网络编程 卷2:进程间通信(第2版)>一书中的第1章,第1.4节,作者:[美]W. Richard Stevens著,更多章节内容可以访问云栖社区" ...
- 图灵社区 : 图书 : UNIX网络编程 卷1:套接字联网API(英文版•第3版)
图灵社区 : 图书 : UNIX网络编程 卷1:套接字联网API(英文版•第3版) 图灵社区 : 图书 : UNIX网络编程 卷1:套接字联网API(英文版•第3版) UNIX网络编程 卷1:套接字联 ...
- UNIX网络编程卷2:进程间通信(第2版)PDF——带完整书签
微信搜索[书为屋],获取更多免费学习资源和小工具,一起学习,一起进步! 下载地址:UNIX网络编程卷2:进程间通信(第2版) 带完整书签: 微信搜索[书为屋],获取更多免费学习资源和小工具,一起学习, ...
- UNIX网络编程.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订)...
UNIX网络编程.卷1,套接字联网API(第3版)(中文版)(Stevens经典著作,两位顶级网络编程专家应邀执笔修订) 基本信息 原书名: Unix Network Programming, Vol ...
最新文章
- MySQL数据库使用连接更新表中某个字段数据
- LeetCode 17电话号码的字母组合(搜索)18四数之和
- 项目管理(4):备战pmp
- 华为云服务怎么弄金卡会员_万科牵手华为终端云服务,共建松山湖智慧商圈
- python字典更改元素_python – 返回带有一个已更改元素的字典
- html剧场座位设计图,如何设计剧院座位,21个细部案例
- SPOJ VLATTICE Visible Lattice Points(莫比乌斯反演)题解
- install mysql with source code
- SP 梦网masterSP模式下的sp生存
- 献给盲目追谁IT的管理者的话,转载:活着就是王道---- -一年
- codeforces 697C Lorenzo Von Matterhorn(二叉树LCA)
- 使用VueBarcode结合vueEasyPrint打印条形码标签
- 周金涛生前20篇雄文精华,一文尽览
- Eclipse+tomcat开发j2ee经典入门例子
- 互联网(internet)、因特网(Internet)、万维网(World Wide Web)三者区别
- 第一次实验报告:使用Packet Tracer分析HTTP数据包
- time(),date(),microtime()三者的区别
- java-面向对象编程-三大特性之封装
- Rectangle对象详解
- iCloud学习笔记