- 主题:请问一个io uring的返回值问题
lib iouring的wait_cqe或者peek_cqe返回之后。cqe->res 具体会返回什么值?看例子中有返回eagain的情况,需要处理,也有超时的错误,还有返回具体的读写数据size的,甚至有情况返回的size还是提交buff的不完整size?
请问有什么地方有完整的描述么?现在有点迷惑什么情况下有什么返回值,都需要什么样的处理。找不到完整的列表或者介绍。哪位了解这个么?多谢。
--
FROM 114.249.17.*
man page里面说res对应提交请求时的系统调用结果。
所以你可以看对应系统调用的man page。
【 在 chunhui 的大作中提到: 】
: lib iouring的wait_cqe或者peek_cqe返回之后。cqe->res 具体会返回什么值?看例子中有返回eagain的情况,需要处理,也有超时的错误,还有返回具体的读写数据size的,甚至有情况返回的size还是提交buff的不完整size?
: 请问有什么地方有完整的描述么?现在有点迷惑什么情况下有什么返回值,都需要什么样的处理。找不到完整的列表或者介绍。哪位了解这个么?多谢。
--
FROM 111.193.211.*
多谢!
但是我看有个例子中res返回的是读写数据长度。好像还可能不是完整提交的buff长度。这个有说法么?
比如提交一个buff 是100。res可能在完成30个字节的时候也会返回cqe?
【 在 martinjspace (stay foolish) 的大作中提到: 】
: man page里面说res对应提交请求时的系统调用结果。
: 所以你可以看对应系统调用的man page。
--
FROM 114.241.7.*
传统的read系统调用就是返回读到的长度。读到的内容不超过buffer就行。
【 在 chunhui 的大作中提到: 】
: 多谢!
: 但是我看有个例子中res返回的是读写数据长度。好像还可能不是完整提交的buff长度。这个有说法么?
: 比如提交一个buff 是100。res可能在完成30个字节的时候也会返回cqe?
: ...................
--
FROM 111.193.211.*
多谢。我开始是因为uring是以完整的buff为单位的返回。
【 在 martinjspace 的大作中提到: 】
: 传统的read系统调用就是返回读到的长度。读到的内容不超过buffer就行。
:
--
FROM 114.241.7.*
iouring 其实是使用共享内存省了好多系统调用,返回值按理说应该跟相应
接口的返回值类似。
--
FROM 119.8.177.*
是的,不过还有一些不确定的地方。比如wait cqe。说是等待一个完成。那怎样算一个提交的完成?
【 在 goingstudy 的大作中提到: 】
: iouring 其实是使用共享内存省了好多系统调用,返回值按理说应该跟相应
: 接口的返回值类似。
--
FROM 123.121.198.*