From c7e93b108c7503f31d12932596f36a933961dfe2 Mon Sep 17 00:00:00 2001
From: Thomas Bushnell <thomas@gnu.org>
Date: Wed, 9 Apr 1997 18:03:32 +0000
Subject: 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.
---
 serverboot/default_pager.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

(limited to 'serverboot/default_pager.c')

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
@@ -2663,6 +2663,20 @@ default_pager_thread_privileges()
 				   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 ());
 }
 
 /*
-- 
cgit v1.2.3