summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/port/proc.c1
-rw-r--r--sys/src/9/port/sysproc.c6
2 files changed, 3 insertions, 4 deletions
diff --git a/sys/src/9/port/proc.c b/sys/src/9/port/proc.c
index 3abc16080..06bdf474e 100644
--- a/sys/src/9/port/proc.c
+++ b/sys/src/9/port/proc.c
@@ -644,6 +644,7 @@ newproc(void)
p->nargs = 0;
p->setargs = 0;
memset(p->seg, 0, sizeof p->seg);
+ p->parentpid = 0;
p->noteid = pidalloc(p);
if(p->kstack == 0)
p->kstack = smalloc(KSTACK);
diff --git a/sys/src/9/port/sysproc.c b/sys/src/9/port/sysproc.c
index c4075fa1e..177c4a798 100644
--- a/sys/src/9/port/sysproc.c
+++ b/sys/src/9/port/sysproc.c
@@ -169,10 +169,8 @@ sysrfork(ulong *arg)
forkchild(p, up->dbgreg);
p->parent = up;
- p->parentpid = up->pid;
- if(flag&RFNOWAIT)
- p->parentpid = 0;
- else {
+ if((flag&RFNOWAIT) == 0){
+ p->parentpid = up->pid;
lock(&up->exl);
up->nchild++;
unlock(&up->exl);