管道通信总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“通信管道维护工作总结”。
(一)无名管道
1.创建管道
pipe()函数创建管道,fd[0]为读描述字,fd[1]为写描述字
2.管道写
不保证原子性,管道一有空闲缓冲区,就写入数据;
如果进程不读走管道缓冲区中数据,写操作会一直阻塞;
如果读端不存在,内核会发送SIGPIPE信号,默认动作是应用程序终止;
3.管道读
如果写端不存在,返回0;
RBYTE>PIPE:返回管道中所有数据
RBYTE
(二)FIFO
1.创建FIFO
创建FIFO失败时需要判断errno是否为EEXIST,如果为EEXIST,接下来调用open就好了。
2.打开FIFO
1)阻塞模式 读:管道已经被其他进程以写打开->成功返回;其他->阻塞 写:管道已经被其他进程以读打开->成功返回;其他->阻塞 2)非阻塞模式
读:成功返回
写:管道已经被其他进程以读打开->成功返回;其他->返回ENXIO错误
3.FIFO写
3)阻塞模式
①.WBYTE > PIPE
不保证原子性,FIFO一有空闲缓冲区,就写入数据,写完所有数据返回 ②.WBYTE
保证原子性,等到FIFO缓冲区有足够空间,写入数据
4)非阻塞模式
①.WBYTE > PIPE
不保证原子性,写满FIFO空闲缓冲区,返回
②.WBYTE
保证原子性,FIFO空闲缓冲区能够容纳WBYTE->写入数据;其他->返回EAGAIN
4.FIFO读
5)阻塞模式
FIFO中无数据或其他进程正在读->阻塞;其他->成功
6)非阻塞模式
FIFO中无数据或其他进程正在读->返回-1,errno为EAGAIN; 其他->成功
通信管线施工方案第一章 工程概况 1.1 工程简介工程名称:西安市城东b标幸福中路(长乐路—咸宁路)通信管道工程建设地点:幸福中路(长乐路—咸宁路)建设单位:工程数量:km 质量标准:优......
刀豆文库小编为你整合推荐6篇通信管道租赁合同,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
通信管道租赁合同随着法律观念的深入人心,随时随地,各种场景都有可能使用到合同,签订合同可以明确双方当事人的权利和义务。那么我们拟定合同的时候需要注意什么问题呢?以下是小......
《开挖敷管施工》分包协议甲方: 乙方: 为进一步完善数字移动电话网络覆盖和加速发展通信事业的建设,甲方委托乙方承担通信管道开挖敷管施工,根据《中华人民共和国合同法》及......
关于投资建设涿鹿县通信管道项目的申 请涿鹿县委、县政府:为便于政府统一监管,合理利用资源,避免乱拆乱建,进一步优化居民的工作、生活环境,更好地服务大众,张家口市宏晟城建有限......