diff options
author | jhb <jhb@FreeBSD.org> | 2001-03-07 03:34:55 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-03-07 03:34:55 +0000 |
commit | ace71d59bf35fa6d911520ec855d0100773422a8 (patch) | |
tree | ba67419033df8ba10b6d4973661efa63828dab0c /sys/ufs/mfs/mfs_vfsops.c | |
parent | 28e79b61adf94bfb12153e726341ab4559a7df24 (diff) | |
download | FreeBSD-src-ace71d59bf35fa6d911520ec855d0100773422a8.zip FreeBSD-src-ace71d59bf35fa6d911520ec855d0100773422a8.tar.gz |
Protect SIGDELSET of p_siglist with the proc lock.
Diffstat (limited to 'sys/ufs/mfs/mfs_vfsops.c')
-rw-r--r-- | sys/ufs/mfs/mfs_vfsops.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c index fb15f4d..c67d61e 100644 --- a/sys/ufs/mfs/mfs_vfsops.c +++ b/sys/ufs/mfs/mfs_vfsops.c @@ -366,8 +366,11 @@ mfs_start(mp, flags, p) gotsig = 0; if (dounmount(mp, 0, p) != 0) { sig = CURSIG(p); - if (sig) + if (sig) { + PROC_LOCK(p); SIGDELSET(p->p_siglist, sig); + PROC_UNLOCK(p); + } } } else if (tsleep((caddr_t)vp, mfs_pri, "mfsidl", 0)) |