diff options
-rw-r--r-- | serverboot/ChangeLog | 7 | ||||
-rw-r--r-- | serverboot/default_pager.c | 23 |
2 files changed, 23 insertions, 7 deletions
diff --git a/serverboot/ChangeLog b/serverboot/ChangeLog index c2caea69..4d589510 100644 --- a/serverboot/ChangeLog +++ b/serverboot/ChangeLog @@ -1,3 +1,10 @@ +Wed Apr 9 13:57:44 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * default_pager.c (default_pager_default_thread): New function. + (default_pager): Fork default_pager_default_thread instead of + doing it here to avoid the possibility that we are on a tiny + stack. Current thread dies. + Thu Apr 3 20:00:58 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * elf-load.c (exec_load): Include <elf.h> instead of diff --git a/serverboot/default_pager.c b/serverboot/default_pager.c index 6c44bd0d..e7d5fa5a 100644 --- a/serverboot/default_pager.c +++ b/serverboot/default_pager.c @@ -2664,6 +2664,20 @@ default_pager_thread_privileges() } any_t +default_pager_default_thread (arg) + any_t arg; +{ + for (;;) { + kr = mach_msg_server(default_pager_demux_default, + default_pager_msg_size_default, + default_pager_default_set); + panic(my_name, kr); + } +} + + + +any_t default_pager_thread(arg) any_t arg; { @@ -2876,13 +2890,8 @@ default_pager() printf ("dp6\n"); - for (;;) { - printf ("dp7\n"); - kr = mach_msg_server(default_pager_demux_default, - default_pager_msg_size_default, - default_pager_default_set); - panic(my_name, kr); - } + cthread_fork (default_pager_default_thread, 0); + cthread_exit (cthread_self ()); } /* |