当前位置:  技术问答>linux和unix

【求助】文件open函数打开时的O_NONBLOCK 什么意思

    来源: 互联网  发布时间:2017-01-22

    本文导语:  【求助】文件open函数打开时的O_NONBLOCK 什么意思啊, 另外,fcntl 是否操作的必须是 fopen 打开的文件 ;ioctl 操作的是 open 函数打开的文件 ,能不能相互的操作,比如:fcntl 操作由 open 函数打开的文件 ; 也许...

【求助】文件open函数打开时的O_NONBLOCK 什么意思啊,
另外,fcntl 是否操作的必须是 fopen 打开的文件 ;ioctl 操作的是 open 函数打开的文件 ,能不能相互的操作,比如:fcntl 操作由 open 函数打开的文件 ;
也许很基本的 ,刚开始学 驱动程序 的编写,产生了一些疑问,感觉有点乱,
先谢谢了
O(∩_∩)O~

|
apue说到非堵塞要分析两种系统调用,低速的系统调用和其它的系统调用。那么低速的系统调用可能是进程堵塞。例如对不存在的数据进行读操作,可能是调用者永远阻塞,因为他得等读到了数据才返回;如果某个文件描述符拒绝某个写操作,写操作不能完成而阻塞;打开某些类型没有准备好的文件的文件也会引起阻塞;以及对强制性记录锁读或写;某些ioctl操作;某些进程间的通信。
非阻塞I/O使我们的操作要么成功,要么立即返回错误,不被阻塞。
对于一个给定的描述符两种方法对其指定非阻塞I/O:
(1)调用open获得描述符,并指定O_NONBLOCK标志
(2)对已经打开的文件描述符,调用fcntl,打开O_NONBLOCK文件状态标志。
int flags,s为描述符

flags = fcntl( s, F_GETFL, 0 ) )
fcntl( s, F_SETFL, flags | O_NONBLOCK ) 

|
在内核中是,检测其标志!如果存在O_NONBLOCK,读写操作将会立即返回,否则内核通过调度其它进程阻塞当前进程!当目的事件发生时内核会唤醒它!

|
fcntl可用open函数打开的文件句柄。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助,linux下如何使用函数更改时区,例如设置美国时区 谢谢
  • 求助 请问vxworks支持inet_ntoa函数吗? 需要包含哪些头文件? 谢谢
  • 【求助】:如何用ioctl()函数调用一个驱动程序
  • [求助] 关于ctime函数..
  • 求助:ioctl函数的命令参数
  • [求助]请问socket编程中send()函数可以发送整形数据吗?
  • C++如何调用库里面的C函数?求助~~
  • 求助:函数getpeername()返回的namelen很小,导致获得名字失败是为什么?谢谢!!!
  • 【求助】我刚装REDHAT9,用SOCK函数总返回-1
  • 求助,关于GTK的退出函数
  • 菜鸟求助linux最最基本的HELLO函数错误
  • [求助]popen 函数引起 shell 调用, sh 成为僵尸进程.
  • 【急】求助各位老师。关于getrusage函数的用法。
  • [求助]关于SOCKET编程中close函数阻塞的问题。
  • 高分求助icmp_hdr()函数的问题
  • 高分求助关于jsp自定义函数的问题
  • 向各位求助:关于signal函数
  • 求助socket编程问题:C/S模式.客户端调用Winsock函数connect()的时候,返回错误码是10065(主机路由不可达).
  • gethostbyaddr函数老是返回为null 但是查看errno又说成功(success) 为什么求助 深夜求帖
  • 求助:linux epoll 函数使用
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3