summaryrefslogtreecommitdiffstats
path: root/src/libthread/main.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2003-11-23 18:18:00 +0000
committerrsc <devnull@localhost>2003-11-23 18:18:00 +0000
commitcd7ddc9b5f34da33a2eb0ea761681c2330284e69 (patch)
treea3f222bf728a1146ee745ae7d1cab1873ac2d019 /src/libthread/main.c
parentb7e6f4150f0974a3f3b145a23911b7c8a4b9399b (diff)
downloadplan9port-cd7ddc9b5f34da33a2eb0ea761681c2330284e69.tar.gz
plan9port-cd7ddc9b5f34da33a2eb0ea761681c2330284e69.zip
make -> mk
remove clumsy stack hack. fix exec. fix nthreads maintenance. fix threadexitsall not to kill self. add sun support.
Diffstat (limited to 'src/libthread/main.c')
-rw-r--r--src/libthread/main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/libthread/main.c b/src/libthread/main.c
index 1acd8348..06c12935 100644
--- a/src/libthread/main.c
+++ b/src/libthread/main.c
@@ -1,5 +1,5 @@
-#include "threadimpl.h"
#include <signal.h>
+#include "threadimpl.h"
typedef struct Mainarg Mainarg;
struct Mainarg
@@ -74,7 +74,13 @@ _threadsignalpasser(void)
int
_schedfork(Proc *p)
{
- return ffork(RFMEM|RFNOWAIT, _schedinit, p);
+ int pid;
+ lock(&p->lock);
+ pid = ffork(RFMEM|RFNOWAIT, _schedinit, p);
+ p->pid = pid;
+ unlock(&p->lock);
+ return pid;
+
}
void