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();
 

Reply via email to