diff options
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r-- | sys/kern/kern_fork.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 7d2c65c..17387f8 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -447,6 +447,9 @@ again: if (pages != 0) pmap_new_altkstack(td2, pages); + PROC_LOCK(p2); + PROC_LOCK(p1); + #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) bzero(&p2->p_startzero, @@ -458,10 +461,6 @@ again: bzero(&kg2->kg_startzero, (unsigned) RANGEOF(struct ksegrp, kg_startzero, kg_endzero)); - mtx_init(&p2->p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); - PROC_LOCK(p2); - PROC_LOCK(p1); - bcopy(&p1->p_startcopy, &p2->p_startcopy, (unsigned) RANGEOF(struct proc, p_startcopy, p_endcopy)); bcopy(&td->td_startcopy, &td2->td_startcopy, |