summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--serverboot/ChangeLog7
-rw-r--r--serverboot/default_pager.c23
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 ());
}
/*