summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_resource.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-09-02 01:05:36 +0000
committerjhb <jhb@FreeBSD.org>2001-09-02 01:05:36 +0000
commit74879eba28d44cd9745b00154181d663455b628b (patch)
tree0d7ab336134df03b039dd8ba2ecf1d9527cd38a0 /sys/kern/kern_resource.c
parent58eccaba8799f72c45c078cf487f89d17a4a3d79 (diff)
downloadFreeBSD-src-74879eba28d44cd9745b00154181d663455b628b.zip
FreeBSD-src-74879eba28d44cd9745b00154181d663455b628b.tar.gz
Use sched_lock to protect rtp_to_pri() and pri_to_rtp() when needed.
Diffstat (limited to 'sys/kern/kern_resource.c')
-rw-r--r--sys/kern/kern_resource.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c
index c3c39fe..3b65ace 100644
--- a/sys/kern/kern_resource.c
+++ b/sys/kern/kern_resource.c
@@ -284,7 +284,9 @@ rtprio(curp, uap)
case RTP_LOOKUP:
if ((error = p_cansee(curp, p)))
break;
+ mtx_lock_spin(&sched_lock);
pri_to_rtp(&p->p_pri, &rtp);
+ mtx_unlock_spin(&sched_lock);
error = copyout(&rtp, uap->rtp, sizeof(struct rtprio));
break;
case RTP_SET:
@@ -314,7 +316,9 @@ rtprio(curp, uap)
break;
}
}
+ mtx_lock_spin(&sched_lock);
error = rtp_to_pri(&rtp, &p->p_pri);
+ mtx_unlock_spin(&sched_lock);
break;
default:
error = EINVAL;
OpenPOWER on IntegriCloud