From 8b9fcf54bbceef056b1c20cd890484901fd7c562 Mon Sep 17 00:00:00 2001 From: wnstngs <64602598+wnstngs@users.noreply.github.com> Date: Wed, 7 Oct 2026 21:34:12 +0300 Subject: [PATCH] kernel: use LIST_DEFINE and list_drain --- kernel-src/fs/abc.c | 3 +-- kernel-src/fs/vfs.c | 3 +-- kernel-src/io/net/raw.c | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/kernel-src/fs/abc.c b/kernel-src/fs/abc.c index 15d63447..0b20e98c 100644 --- a/kernel-src/fs/abc.c +++ b/kernel-src/fs/abc.c @@ -164,8 +164,7 @@ static void writer_thread(void) { __assert(written == block_count * abc->block_size); } - list_node_t *list_node; - while ((list_node = list_pop_front(&internal_list)) != NULL) { + list_drain_front (&internal_list, list_node) { abc_block_t *blk = (abc_block_t *)list_node; if (__atomic_and_fetch(&blk->flags, ~ABC_BLOCK_FLAGS_BUSY, __ATOMIC_ACQUIRE) & ABC_BLOCK_FLAGS_DIRTY) { pushlock_acquire_exclusive(&abc->dirty_list_lock); diff --git a/kernel-src/fs/vfs.c b/kernel-src/fs/vfs.c index 81c0723d..fbafeef0 100644 --- a/kernel-src/fs/vfs.c +++ b/kernel-src/fs/vfs.c @@ -59,8 +59,7 @@ void vfs_root_event_signal(void) { root_mounted = true; MUTEX_RELEASE(&root_event_mutex); - list_node_t *node; - while ((node = list_pop_front(&root_event_list)) != NULL) { + list_drain_front (&root_event_list, node) { root_event_waiter_t *rew = (root_event_waiter_t *)node; rew->fn(rew->ctx); free(rew); diff --git a/kernel-src/io/net/raw.c b/kernel-src/io/net/raw.c index 97ccfea2..8069298f 100644 --- a/kernel-src/io/net/raw.c +++ b/kernel-src/io/net/raw.c @@ -11,7 +11,7 @@ #define SOCKET_BUFFER (16 * 1024) SPINLOCK_DEFINE(list_lock); -static list_node_t socket_list = LIST_INIT_VALUE(socket_list); +static LIST_DEFINE(socket_list); typedef struct { uint8_t sender[6];