aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_syscalls.c
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2000-12-13 00:17:05 +0000
committerJake Burkholder <jake@FreeBSD.org>2000-12-13 00:17:05 +0000
commitc0c255709081ed31ff044179c49ca7e8c6abb162 (patch)
tree4dfd199ffaa97feec65c14b175f47ccddbeed914 /sys/kern/vfs_syscalls.c
parent1b3335af6a91bd501eacc94ea03d0f3221559b9b (diff)
downloadsrc-c0c255709081ed31ff044179c49ca7e8c6abb162.tar.gz
src-c0c255709081ed31ff044179c49ca7e8c6abb162.zip
- Change the allproc_lock to use a macro, ALLPROC_LOCK(how), instead
of explicit calls to lockmgr. Also provides macros for the flags pased to specify shared, exclusive or release which map to the lockmgr flags. This is so that the use of lockmgr can be easily replaced with optimized reader-writer locks. - Add some locking that I missed the first time.
Notes
Notes: svn path=/head/; revision=69947
Diffstat (limited to 'sys/kern/vfs_syscalls.c')
-rw-r--r--sys/kern/vfs_syscalls.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index 5f1a1d4a15e0..16e8984a31d5 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -365,7 +365,7 @@ checkdirs(olddp)
return;
if (VFS_ROOT(olddp->v_mountedhere, &newdp))
panic("mount: lost mount");
- lockmgr(&allproc_lock, LK_SHARED, NULL, CURPROC);
+ ALLPROC_LOCK(AP_SHARED);
LIST_FOREACH(p, &allproc, p_list) {
fdp = p->p_fd;
if (fdp->fd_cdir == olddp) {
@@ -379,7 +379,7 @@ checkdirs(olddp)
fdp->fd_rdir = newdp;
}
}
- lockmgr(&allproc_lock, LK_RELEASE, NULL, CURPROC);
+ ALLPROC_LOCK(AP_RELEASE);
if (rootvnode == olddp) {
vrele(rootvnode);
VREF(newdp);