gpt4 book ai didi

c - EAGAIN 后强制阻塞读取?

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:35 25 4
gpt4 key购买 nike

我有一个打开供读取的文件描述符,它可能是非阻塞的。我需要做的只是读取所有数据直到到达 EOF 并将该数据写入可写文件描述符。由于执行此复制的过程“不知道”周围发生的任何事情,我不认为我可以在等待数据时做一些有用的事情,而且我不想使用 while 循环(而 errno 不是 EAGAIN)因为我认为这会很浪费。有没有办法阻止或以其他方式暂停复制过程的执行,直到数据可用?

最佳答案

您的其他答案只是取消设置 O_NONBLOCK,这会将文件设置回阻塞状态。如果适合您的情况,那很好;但如果没有,您可以使用 select() 进行阻塞,直到您的非阻塞文件描述符可读为止。

关于c - EAGAIN 后强制阻塞读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com