Page MenuHomeFreeBSD

D41749.diff
No OneTemporary

D41749.diff

diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
--- a/sys/kern/init_main.c
+++ b/sys/kern/init_main.c
@@ -163,9 +163,11 @@
SET_DECLARE(sysinit_set, struct sysinit);
/*
- * The sysinit list itself. Items are removed as they are run.
+ * The sysinit lists. Items are moved to sysinit_done_list when done.
*/
static STAILQ_HEAD(sysinitlist, sysinit) sysinit_list;
+static struct sysinitlist sysinit_done_list =
+ STAILQ_HEAD_INITIALIZER(sysinit_done_list);
/*
* Compare two sysinits; return -1, 0, or 1 if a comes before, at the same time
@@ -289,6 +291,7 @@
*/
while ((sip = STAILQ_FIRST(&sysinit_list)) != NULL) {
STAILQ_REMOVE_HEAD(&sysinit_list, next);
+ STAILQ_INSERT_TAIL(&sysinit_done_list, sip, next);
if (sip->subsystem == SI_SUB_DUMMY)
continue; /* skip dummy task(s)*/
@@ -904,6 +907,11 @@
db_printf("SYSINIT vs Name(Ptr)\n");
db_printf(" Subsystem Order\n");
db_printf(" Function(Name)(Arg)\n");
+ STAILQ_FOREACH(sip, &sysinit_done_list, next) {
+ db_show_print_syinit(sip, true);
+ if (db_pager_quit)
+ return;
+ }
STAILQ_FOREACH(sip, &sysinit_list, next) {
db_show_print_syinit(sip, true);
if (db_pager_quit)

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 27, 8:30 PM (8 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16210979
Default Alt Text
D41749.diff (1 KB)

Event Timeline