When a process is blocking in io_uring_enter, and a signal stops it for any reason, it returns -EINTR to userspace. Two comments about this: 1. https://github.com/axboe/liburing/blob/master/man/io_uring_enter.2 doesn't mention EINTR as a possible error that it can return. 2. When there's no signal handler, and a signal stopped the syscall for some other reason (e.g., SIGSTOP, SIGTSTP, or any signal when the process is being traced), other syscalls (e.g., read) will be restarted transparently, but this one will return to userspace with -EINTR just as if there were a signal handler. Point 1 seems like a no-brainer. I'm not sure if point 2 is possible to fix, though, especially since some other syscalls (e.g., epoll_wait) have the same problem as this one. Joseph C. Sible