diff options
author | jhb <jhb@FreeBSD.org> | 2001-09-02 00:52:11 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-09-02 00:52:11 +0000 |
commit | 58eccaba8799f72c45c078cf487f89d17a4a3d79 (patch) | |
tree | 22569dffff47adfed6ce3e1030fce0983bd741df /sys/posix4 | |
parent | 775a952f41e1f24ade6f79bfe8b2a7286d84e1c5 (diff) | |
download | FreeBSD-src-58eccaba8799f72c45c078cf487f89d17a4a3d79.zip FreeBSD-src-58eccaba8799f72c45c078cf487f89d17a4a3d79.tar.gz |
Protect pri_to_rtp() with sched_lock when needed.
Diffstat (limited to 'sys/posix4')
-rw-r--r-- | sys/posix4/ksched.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/posix4/ksched.c b/sys/posix4/ksched.c index c7b6dd3..d118b93 100644 --- a/sys/posix4/ksched.c +++ b/sys/posix4/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); |