Module Name: src
Committed By: riastradh
Date: Sun Aug 7 20:44:39 UTC 2022
Modified Files:
src/sys/kern: kern_module.c
Log Message:
module(9): Call callbacks in topological order on load.
They are called in reverse topological order on unload.
dtrace_sdt will rely on this soon to ensure provider definitions are
processed before their uses.
ok chs@
To generate a diff of this commit:
cvs rdiff -u -r1.154 -r1.155 src/sys/kern/kern_module.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/kern_module.c
diff -u src/sys/kern/kern_module.c:1.154 src/sys/kern/kern_module.c:1.155
--- src/sys/kern/kern_module.c:1.154 Sat May 7 04:30:41 2022
+++ src/sys/kern/kern_module.c Sun Aug 7 20:44:39 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_module.c,v 1.154 2022/05/07 04:30:41 rin Exp $ */
+/* $NetBSD: kern_module.c,v 1.155 2022/08/07 20:44:39 riastradh Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_module.c,v 1.154 2022/05/07 04:30:41 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_module.c,v 1.155 2022/08/07 20:44:39 riastradh Exp $");
#define _MODULE_INTERNAL
@@ -1889,7 +1889,7 @@ module_register_callbacks(void (*load)(s
kernconfig_lock();
TAILQ_INSERT_TAIL(&modcblist, modcb, modcb_list);
- TAILQ_FOREACH(mod, &module_list, mod_chain)
+ TAILQ_FOREACH_REVERSE(mod, &module_list, modlist, mod_chain)
load(mod);
kernconfig_unlock();