检查使用O_NONBLOCK打开的文件描述符是否准备就绪
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查使用O_NONBLOCK打开的文件描述符是否准备就绪相关的知识,希望对你有一定的参考价值。
情况:在POSIX环境中,我使用一个串口库,它通过open(...)
打开一个设备,并设置了O_NONBLOCK
标志。作为open
调用状态的手册页,open
本身不会阻止此标志。
问题:我需要在打开端口后立即刷新串口的输入缓冲区。然而,当我执行刷新操作(文件打开尚未完成)时,串口可能还没有准备好。
问题:在POSIX中准备就绪之前,有没有办法阻止非阻塞文件描述符?
谢谢!
答案
您可以使用以下系统调用之一等待打开时获得的文件描述符准备好:选择poll epoll
以上是关于检查使用O_NONBLOCK打开的文件描述符是否准备就绪的主要内容,如果未能解决你的问题,请参考以下文章
read() 不会阻塞在没有 O_NONBLOCK 标志的情况下打开的空 FIFO
Java Flight Recorder - 查找文件描述符泄漏