unix环境高级编程笔记--高级IO
2013-10-12 16:04
309 查看
系统调用可以被分为“低速“系统调用和其他系统调用,低速系统调用是可能使进程发生阻塞的系统调用,在我写网络编程程序的时候就遇到过某个函数如open,read,recv这些函数发生阻塞,如果指定为非阻塞的话,有两种:
1,调用open获得文件描述符,然后指定为O_NONBLOCK标志;
2,对于已经打开的文件描述符,调用fcntl打开O_NONBLOCK文件状态
文件是阻塞的,设置为非阻塞的方式为:
flags=fcntl(fd,F_GETFL,0);
flags|=O_NONBLOCK;
fcntl(fd,F_SETFL,flags);
1,调用open获得文件描述符,然后指定为O_NONBLOCK标志;
2,对于已经打开的文件描述符,调用fcntl打开O_NONBLOCK文件状态
文件是阻塞的,设置为非阻塞的方式为:
flags=fcntl(fd,F_GETFL,0);
flags|=O_NONBLOCK;
fcntl(fd,F_SETFL,flags);
相关文章推荐
- 文件io(二)--unix环境高级编程笔记
- Unix环境高级编程笔记:12、高级IO
- UNIX环境高级编程笔记——高级IO,进程间通信,套接字,高级进程间通信
- UNIX环境高级编程---------文件IO
- Unix环境高级编程阅读笔记(1)
- unix环境高级编程--不带缓冲的IO操作
- UNIX环境高级编程学习之第三章文件IO-文件写操作
- UNIX环境高级编程笔记-8进程控制
- Unix环境高级编程笔记:11、线程
- unix环境高级编程笔记(6)—— 文件和目录(3)
- Unix环境高级编程笔记——补充
- unix环境高级编程笔记(4)—— 文件和目录(1)
- 《 Unix环境高级编程 》1~5章笔记
- UNIX环境高级编程学习笔记(六)标准I/O库
- Unix环境高级编程笔记:9、进程关系
- unix环境高级编程笔记(5)—— 文件和目录(2)
- unix环境高级编程(阅读笔记)-----信号以及signal函数
- unix环境高级编程笔记(3)-- 文件I/O(2)
- UNIX环境高级编程学习之第三章文件IO-文件读操作
- UNIX环境C语言编程(11)-高级IO