diff options
author | peter <peter@FreeBSD.org> | 2004-03-14 01:48:32 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-03-14 01:48:32 +0000 |
commit | 963c36c1956c741c098e14e7f7708ac1d78e187e (patch) | |
tree | 7ac4a7d805b1c5a44a91fd02d5e0ca6eed22834e /sys/kern | |
parent | 066f7934c61f7a02e91c3b9ce60a2985e9a4c11a (diff) | |
download | FreeBSD-src-963c36c1956c741c098e14e7f7708ac1d78e187e.zip FreeBSD-src-963c36c1956c741c098e14e7f7708ac1d78e187e.tar.gz |
Move the process_fork event out from under Giant. This one is easy,
since there are no consumers in the tree. Document this.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_fork.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 03d12bb..bd17f05 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -689,14 +689,16 @@ again: cnt.v_rforkpages += p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize; } + mtx_unlock(&Giant); /* * Both processes are set up, now check if any loadable modules want * to adjust anything. * What if they have an error? XXX + * + * Handlers must be MPSAFE, or aquire Giant themselves if not. */ EVENTHANDLER_INVOKE(process_fork, p1, p2, flags); - mtx_unlock(&Giant); /* * Set the child start time and mark the process as being complete. |