gpt4 book ai didi

c - aio_write 是否总是写入整个缓冲区?

转载 作者:IT王子 更新时间:2023-10-29 00:36:12 25 4
gpt4 key购买 nike

我知道 POSIX write 函数可以成功返回,即使它没有写入整个缓冲区(如果被信号中断)。您必须检查短写并恢复它们。

但是 aio_write 有同样的问题吗?我不认为它会发生,但文档中没有提到它,而且我找不到任何声明它不会发生的东西。

最佳答案

简答

排除任何错误情况:实际是,理论上不一定。

长答案

根据我的经验,调用者不需要多次调用 aio_write() 来使用 aoi_write() 写入整个缓冲区。

然而,这并不能保证传入的整个缓冲区都将被写入。对 aio_error() 的最终调用给出了整个 异步 I/O 操作的结果,这可能指示错误。

无论如何,文档没有明确排除这种情况,即对aio_return() 的最终调用返回的值小于要写出的指定字节数 在对 aio_write() 的原始调用中,确实需要将其解释为不会发送整个缓冲区,在这种情况下,有必要调用 aio_write () 再次传入上一次调用所指示的内容。

关于c - aio_write 是否总是写入整个缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15206599/

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