linux - 异步文件IO中io_event.res2参数是什么意思?
问题描述
我在我的项目中使用异步 IO api,我对参数io_event.res
和io_event.res2
它接缝 res 表示 io 大小,但 res2 的含义是什么。我在文件中找到的评论/usr/include/linux/aio.abi.h
无济于事。
如果有人解释这一点并向我们展示一个例子,我会非常感激。
/* read() from /dev/aio returns these structures. */
struct io_event {
__u64 data; /* the data field from the iocb */
__u64 obj; /* what iocb this event came from */
__s64 res; /* result code for this event */
__s64 res2; /* secondary result */
};
我的代码如下
size_t nevents = 2;
struct io_event events[nevents];
ret = io_getevents(ioctx, 1, nevents, events, NULL);
if (ret < 0) {
perror("io_getevents");
exit(1);
}
for (size_t i=0; i<ret; i++) {
struct io_event *ev = &events[i];
printf("Event returned with res=%lld res2=%lld\n", ev->res, ev->res2);
nevents--;
}
解决方案
res 返回成功 io 操作的大小。如果失败,res 返回负的 errno
推荐阅读
- preview - 我在哪里可以找到预览应用程序的源代码;我想开发其他工具以包含在预览中
- android - Is there a way to click on a specific spot on an element?
- vue.js - 从 Vuex getter 中的观察者那里获取值
- unity3d - Unity - 目标线(线渲染器)未在 2D 射击游戏中显示
- node.js - 未捕获的 AssertionError:预期 404 等于 405
- mysql - 根据其他数据库mysql从表中删除
- powershell - 将文件从单一来源复制到多个目的地
- ms-access - 主键和功能依赖
- android - 在 Android Ionic/Cordova 上,如何从插件的服务中启动 CordovaActivity 并让它加载深层链接?
- python - 路径寻找最短路径(即曲线 - 没有任何拐角)