diff options
Diffstat (limited to 'src/libthread')
-rw-r--r-- | src/libthread/thread.c | 8 |
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; } |