aboutsummaryrefslogtreecommitdiff
path: root/test/sq-poll-kthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/sq-poll-kthread.c')
-rw-r--r--test/sq-poll-kthread.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/test/sq-poll-kthread.c b/test/sq-poll-kthread.c
index ed7d0bf..3f4a07b 100644
--- a/test/sq-poll-kthread.c
+++ b/test/sq-poll-kthread.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: MIT */
/*
* Description: test if io_uring SQ poll kthread is stopped when the userspace
* process ended with or without closing the io_uring fd
@@ -12,11 +13,12 @@
#include <stdlib.h>
#include <string.h>
#include <signal.h>
-#include <sys/poll.h>
+#include <poll.h>
#include <sys/wait.h>
#include <sys/epoll.h>
#include "liburing.h"
+#include "helpers.h"
#define SQ_THREAD_IDLE 2000
#define BUF_SIZE 128
@@ -38,23 +40,20 @@ static int do_test_sq_poll_kthread_stopped(bool do_exit)
uint8_t buf[BUF_SIZE];
struct iovec iov;
- if (geteuid()) {
- fprintf(stderr, "sqpoll requires root!\n");
- return TEST_SKIPPED;
- }
-
if (pipe(pipe1) != 0) {
perror("pipe");
return TEST_FAILED;
}
memset(&param, 0, sizeof(param));
-
param.flags |= IORING_SETUP_SQPOLL;
param.sq_thread_idle = SQ_THREAD_IDLE;
- ret = io_uring_queue_init_params(16, &ring, &param);
- if (ret) {
+ ret = t_create_ring_params(16, &ring, &param);
+ if (ret == T_SETUP_SKIP) {
+ ret = TEST_FAILED;
+ goto err_pipe;
+ } else if (ret != T_SETUP_OK) {
fprintf(stderr, "ring setup failed\n");
ret = TEST_FAILED;
goto err_pipe;