aboutsummaryrefslogtreecommitdiff
path: root/src/libthread
diff options
context:
space:
mode:
Diffstat (limited to 'src/libthread')
-rw-r--r--src/libthread/thread.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libthread/thread.c b/src/libthread/thread.c
index cac2d497..c07a84f3 100644
--- a/src/libthread/thread.c
+++ b/src/libthread/thread.c
@@ -582,6 +582,14 @@ main(int argc, char **argv)
_threadcreate(p, threadmainstart, nil, mainstacksize);
procscheduler(p);
_threaddaemonize();
+ /*
+ * On Linux 2.6, if the main thread exits then the others
+ * keep running but the process shows up as a zombie in ps
+ * and is not attachable with ptrace. We'll just sit around
+ * instead of exiting.
+ */
+ for(;;)
+ sleep(1000);
_threadpexit();
return 0;
}