MT#55283 move uring conditions

Change-Id: If472d4c352d3e06faf87ab1f857e2fccb1c0d02d
pull/2055/head
Richard Fuchs 2 weeks ago
parent 91dde0ba03
commit 72ab151266

@ -198,10 +198,7 @@ static void thread_detach_cleanup(void *dtp) {
struct detach_thread *dt = dtp;
g_free(dt);
bufferpool_destroy(media_bufferpool);
#ifdef HAVE_LIBURING
if (rtpe_config.common.io_uring)
uring_thread_cleanup();
#endif
uring_thread_cleanup();
thread_join_me();
}
@ -254,10 +251,7 @@ static void *thread_detach_func(struct detach_thread *dt) {
}
media_bufferpool = bufferpool_new(bufferpool_aligned_alloc, bufferpool_aligned_free);
#ifdef HAVE_LIBURING
if (rtpe_config.common.io_uring)
uring_thread_init();
#endif
uring_thread_init();
thread_cleanup_push(thread_detach_cleanup, dt);
dt->func(dt->data);

@ -1565,17 +1565,11 @@ static void early_init(void) {
#ifdef WITH_TRANSCODING
static void clib_init(void) {
media_bufferpool = bufferpool_new(bufferpool_aligned_alloc, bufferpool_aligned_free);
#ifdef HAVE_LIBURING
if (rtpe_config.common.io_uring)
uring_thread_init();
#endif
uring_thread_init();
}
static void clib_cleanup(void) {
bufferpool_destroy(media_bufferpool);
#ifdef HAVE_LIBURING
if (rtpe_config.common.io_uring)
uring_thread_cleanup();
#endif
uring_thread_cleanup();
}
static void clib_loop(void) {
uring_methods.thread_loop();

@ -129,6 +129,9 @@ static void __uring_free(struct uring_req *r) {
}
void uring_thread_init(void) {
if (!rtpe_common_config_ptr->io_uring)
return;
struct io_uring_params params = {0};
int ret = io_uring_queue_init_params(rtpe_common_config_ptr->io_uring_buffers, &rtpe_uring, &params);
if (ret)
@ -143,6 +146,9 @@ void uring_thread_init(void) {
}
void uring_thread_cleanup(void) {
if (!rtpe_common_config_ptr->io_uring)
return;
io_uring_queue_exit(&rtpe_uring);
}

@ -57,6 +57,11 @@ bool uring_poller_isblocked(struct poller *p, void *fdp);
void uring_poller_error(struct poller *p, void *fdp);
bool uring_poller_del_item_callback(struct poller *p, int fd, void (*callback)(void *), void *arg);
#else
static inline void uring_thread_init(void) { }
static inline void uring_thread_cleanup(void) { }
#endif
#endif

Loading…
Cancel
Save