From 975115321fe2b5c8fa97d202c900aeb085b10ba8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 4 Dec 2024 04:49:42 +0900 Subject: [PATCH 1/3] udev-builtin: use FOREACH_ELEMENT() macro --- src/udev/udev-builtin.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index 69401aa2e0..dc3885680f 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -36,9 +36,9 @@ void udev_builtin_init(void) { if (initialized) return; - for (UdevBuiltinCommand i = 0; i < _UDEV_BUILTIN_MAX; i++) - if (builtins[i] && builtins[i]->init) - builtins[i]->init(); + FOREACH_ELEMENT(b, builtins) + if (*b && (*b)->init) + (*b)->init(); initialized = true; } @@ -47,9 +47,9 @@ void udev_builtin_exit(void) { if (!initialized) return; - for (UdevBuiltinCommand i = 0; i < _UDEV_BUILTIN_MAX; i++) - if (builtins[i] && builtins[i]->exit) - builtins[i]->exit(); + FOREACH_ELEMENT(b, builtins) + if (*b && (*b)->exit) + (*b)->exit(); initialized = false; } @@ -62,9 +62,9 @@ bool udev_builtin_should_reload(void) { } void udev_builtin_list(void) { - for (UdevBuiltinCommand i = 0; i < _UDEV_BUILTIN_MAX; i++) - if (builtins[i]) - fprintf(stderr, " %-14s %s\n", builtins[i]->name, builtins[i]->help); + FOREACH_ELEMENT(b, builtins) + if (*b) + fprintf(stderr, " %-14s %s\n", (*b)->name, (*b)->help); } const char* udev_builtin_name(UdevBuiltinCommand cmd) { From 9c6c4ad1736e9c98de63645b462ded5497687de9 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 4 Dec 2024 04:52:28 +0900 Subject: [PATCH 2/3] udev-builtin: drop unnecessary 'initialized' flag All builtin _init() functions can be called multiple times gracefully, and _exit() can be called without _init() called. --- src/udev/udev-builtin.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index dc3885680f..d533a4fa88 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -9,8 +9,6 @@ #include "strv.h" #include "udev-builtin.h" -static bool initialized; - static const UdevBuiltin *const builtins[_UDEV_BUILTIN_MAX] = { #if HAVE_BLKID [UDEV_BUILTIN_BLKID] = &udev_builtin_blkid, @@ -33,25 +31,15 @@ static const UdevBuiltin *const builtins[_UDEV_BUILTIN_MAX] = { }; void udev_builtin_init(void) { - if (initialized) - return; - FOREACH_ELEMENT(b, builtins) if (*b && (*b)->init) (*b)->init(); - - initialized = true; } void udev_builtin_exit(void) { - if (!initialized) - return; - FOREACH_ELEMENT(b, builtins) if (*b && (*b)->exit) (*b)->exit(); - - initialized = false; } bool udev_builtin_should_reload(void) { From 46d9f1946520dba2ea1c91537286e8770a1de3a0 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 4 Dec 2024 04:55:12 +0900 Subject: [PATCH 3/3] udev-builtin-kmod: log about unloading only when already loaded --- src/udev/udev-builtin-kmod.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c index f4aa4802c9..96819df989 100644 --- a/src/udev/udev-builtin-kmod.c +++ b/src/udev/udev-builtin-kmod.c @@ -68,11 +68,10 @@ static int builtin_kmod_init(void) { /* called on udev shutdown and reload request */ static void builtin_kmod_exit(void) { - log_debug("Unload kernel module index."); - if (!ctx) return; + log_debug("Unload kernel module index."); ctx = sym_kmod_unref(ctx); }