【发布时间】:2013-03-04 16:46:31
【问题描述】:
我知道 POSIX write 函数可以成功返回,即使它没有写入整个缓冲区(如果被信号中断)。您必须检查短写并恢复它们。
但是aio_write 有同样的问题吗?我不认为它会发生,但文档中没有提到它,而且我找不到任何说明它不会发生的东西。
【问题讨论】:
-
@chrisaycock,是的,但它也说他从未真正使用过 aio_*,所以他可能弄错了。
-
调用者无需多次调用
aio_write()即可将整个缓冲区传递给aoi_write()。然而,这并不能保证传入的整个缓冲区都会被写入。对aio_error()的最终调用给出了整个异步I/O操作的结果。