diff options
author | 2010-05-18 22:26:09 +0000 | |
---|---|---|
committer | 2010-05-18 22:26:09 +0000 | |
commit | ce0272ab83a2aa56bfa8d51be526ac59843bef3f (patch) | |
tree | 6b46eeefab75c8dd50397da26905ca55a4cd8b25 /sys/kern/kern_fork.c | |
parent | add posix_madvise, posix_memalign, strndup, and strnlen. mostly from (diff) | |
download | wireguard-openbsd-ce0272ab83a2aa56bfa8d51be526ac59843bef3f.tar.xz wireguard-openbsd-ce0272ab83a2aa56bfa8d51be526ac59843bef3f.zip |
move knote list to struct process. ok guenther
Diffstat (limited to 'sys/kern/kern_fork.c')
-rw-r--r-- | sys/kern/kern_fork.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index df6ffd8c7a0..770174abe05 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_fork.c,v 1.109 2010/03/24 23:18:17 tedu Exp $ */ +/* $OpenBSD: kern_fork.c,v 1.110 2010/05/18 22:26:10 tedu Exp $ */ /* $NetBSD: kern_fork.c,v 1.29 1996/02/09 18:59:34 christos Exp $ */ /* @@ -156,7 +156,7 @@ process_new(struct proc *newproc, struct proc *parentproc) { struct process *pr, *parent; - pr = pool_get(&process_pool, PR_WAITOK); + pr = pool_get(&process_pool, PR_WAITOK | PR_ZERO); pr->ps_mainproc = newproc; TAILQ_INIT(&pr->ps_threads); TAILQ_INSERT_TAIL(&pr->ps_threads, newproc, p_thr_link); @@ -460,7 +460,8 @@ fork1(struct proc *p1, int exitsig, int flags, void *stack, size_t stacksize, /* * Notify any interested parties about the new process. */ - KNOTE(&p1->p_klist, NOTE_FORK | p2->p_pid); + if ((flags & FORK_THREAD) == 0) + KNOTE(&p1->p_p->ps_klist, NOTE_FORK | p2->p_pid); /* * Update stats now that we know the fork was successful. |