setup: fix ring fd not set

Signed-off-by: Nugraha <richiisei@gmail.com>
This commit is contained in:
Xeffy Chen 2022-07-07 08:25:45 +07:00
parent 793e0b8cbd
commit aa6bf08729
Signed by: Xeffy
GPG key ID: E41C08AD390E7C49

View file

@ -5,11 +5,11 @@ import (
"unsafe"
)
func io_uring_queue_init(entries uint32, ring *IoUring, flags uint32) error {
p := new(IoUringParams)
p.Flags = flags
return io_uring_queue_init_params(entries, ring, p)
}
// func io_uring_queue_init(entries uint32, ring *IoUring, flags uint32) error {
// p := new(IoUringParams)
// p.Flags = flags
// return io_uring_queue_init_params(entries, ring, p)
// }
func io_uring_queue_init_params(entries uint32, ring *IoUring, p *IoUringParams) error {
fd, err := io_uring_setup(entries, p)
@ -46,11 +46,11 @@ func (ring *IoUring) io_uring_queue_exit() {
func io_uring_queue_mmap(fd int, p *IoUringParams, ring *IoUring) error {
err := io_uring_mmap(fd, p, &ring.Sq, &ring.Cq)
if err != nil {
ring.Flags = p.Flags
ring.RingFd = ring.EnterRingFd
ring.IntFlags = 0
return err
}
ring.Flags = p.Flags
ring.RingFd, ring.EnterRingFd = int32(fd), int32(fd)
ring.IntFlags = 0
return nil
}