summaryrefslogtreecommitdiffstats
path: root/sys/kern/ksched.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-09-02 00:52:11 +0000
committerjhb <jhb@FreeBSD.org>2001-09-02 00:52:11 +0000
commit58eccaba8799f72c45c078cf487f89d17a4a3d79 (patch)
tree22569dffff47adfed6ce3e1030fce0983bd741df /sys/kern/ksched.c
parent775a952f41e1f24ade6f79bfe8b2a7286d84e1c5 (diff)
downloadFreeBSD-src-58eccaba8799f72c45c078cf487f89d17a4a3d79.zip
FreeBSD-src-58eccaba8799f72c45c078cf487f89d17a4a3d79.tar.gz
Protect pri_to_rtp() with sched_lock when needed.
Diffstat (limited to 'sys/kern/ksched.c')
-rw-r--r--sys/kern/ksched.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/ksched.c b/sys/kern/ksched.c
index c7b6dd3..d118b93 100644
--- a/sys/kern/ksched.c
+++ b/sys/kern/ksched.c
@@ -99,7 +99,9 @@ getscheduler(register_t *ret, struct ksched *ksched, struct proc *p)
struct rtprio rtp;
int e = 0;
+ mtx_lock_spin(&sched_lock);
pri_to_rtp(&p->p_pri, &rtp);
+ mtx_unlock_spin(&sched_lock);
switch (rtp.type)
{
case RTP_PRIO_FIFO:
@@ -142,7 +144,9 @@ int ksched_getparam(register_t *ret, struct ksched *ksched,
{
struct rtprio rtp;
+ mtx_lock_spin(&sched_lock);
pri_to_rtp(&p->p_pri, &rtp);
+ mtx_unlock_spin(&sched_lock);
if (RTP_PRIO_IS_REALTIME(rtp.type))
param->sched_priority = rtpprio_to_p4prio(rtp.prio);
OpenPOWER on IntegriCloud