diff --git a/daemon/kernel.c b/daemon/kernel.c index bf36490f1..1a8b82f79 100644 --- a/daemon/kernel.c +++ b/daemon/kernel.c @@ -201,11 +201,11 @@ int kernel_del_stream_stats(struct rtpengine_command_del_target_stats *cmd) { return -1; } -GList *kernel_list(void) { +kernel_slist *kernel_get_list(void) { char s[64]; int fd; struct rtpengine_list_entry *buf; - GList *li = NULL; + kernel_slist *li = NULL; ssize_t ret; if (!kernel.is_open) @@ -222,7 +222,7 @@ GList *kernel_list(void) { ret = read(fd, buf, sizeof(*buf)); if (ret != sizeof(*buf)) break; - li = g_list_prepend(li, buf); + li = t_slist_prepend(li, buf); } g_slice_free1(sizeof(*buf), buf); diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 69aa798c9..703cf301b 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -3430,7 +3430,7 @@ enum thread_looper_action kernel_stats_updater(void) { endpoint_t ep; /* TODO: should we realy check the count of call timers? `call_timer_iterator()` */ - GList * kl = kernel_list(); + __auto_type kl = kernel_get_list(); while (kl) { ke = kl->data; kernel2endpoint(&ep, &ke->target.local); @@ -3587,7 +3587,7 @@ enum thread_looper_action kernel_stats_updater(void) { next: g_slice_free1(sizeof(*ke), ke); - kl = g_list_delete_link(kl, kl); + kl = t_slist_delete_link(kl, kl); log_info_pop(); } diff --git a/include/kernel.h b/include/kernel.h index a44a34fe7..f1770fd4b 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -7,6 +7,7 @@ #include #include #include "xt_RTPENGINE.h" +#include "containers.h" @@ -32,6 +33,8 @@ struct kernel_interface { }; extern struct kernel_interface kernel; +TYPED_GQUEUE(kernel, struct rtpengine_list_entry) + int kernel_setup_table(unsigned int); @@ -40,7 +43,7 @@ void kernel_shutdown_table(void); int kernel_add_stream(struct rtpengine_target_info *); int kernel_add_destination(struct rtpengine_destination_info *); int kernel_del_stream_stats(struct rtpengine_command_del_target_stats *); -GList *kernel_list(void); +kernel_slist *kernel_get_list(void); int kernel_update_stats(struct rtpengine_command_stats *); unsigned int kernel_add_call(const char *id);