c – aio_write是否总是写入整个缓冲区?
发布时间:2020-12-16 07:35:19 所属栏目:百科 来源:网络整理
导读:我知道POSIX写入函数可以成功返回,即使它没有写入整个缓冲区(如果被信号中断).你必须检查短写并恢复它们. 但aio_write有同样的问题吗?我认为没有,但文档中没有提到它,我找不到任何表明它不会发生的事情. 解决方法 简短的回答 排除任何错误的情况:实际是,理
我知道POSIX写入函数可以成功返回,即使它没有写入整个缓冲区(如果被信号中断).你必须检查短写并恢复它们.
但aio_write有同样的问题吗?我认为没有,但文档中没有提到它,我找不到任何表明它不会发生的事情. 解决方法
简短的回答
排除任何错误的情况:实际是,理论上不一定. 答案很长 根据我的经验,调用者不需要多次调用aio_write()来使用aoi_write()编写整个缓冲区. 然而,这并不能保证传入的整个缓冲区真的会被写入.对aio_error()的最终调用给出了整个异步I / O操作的结果,这可能表示错误. 无论如何,文档没有明确排除最终调用aio_return()返回的值小于原始调用aio_write()中指定的写出字节数的情况,确实需要解释为不是整个缓冲区已经被发送,在这种情况下,有必要再次调用aio_write()传入已经指示为已经被前一次调用写入的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ios – MFMailComposeViewController获取电子邮件正文
- 我可以在Swift中模拟traits/mixins吗?
- flex 学习笔记 graphics(二)
- 当我初始化一个C容器(如std :: list)时,复制构造函数是否被
- FreeBSD5.3上的PostgreSQL8.0+Apache2.0+JDK1.4.2+Tomcat4.
- 如何编写postgresql中最大行数约束?
- jsonp处理跨域问题
- 在Oracle 12.2多租户架构中只flush 某个pdb的buffer cache
- JSON.parse()和JSON.stringify()
- swift – “在Xcode 6 Beta 4中运行应用程序时,文件”MyApp