diff options
author | mdf <mdf@FreeBSD.org> | 2011-05-13 05:27:58 +0000 |
---|---|---|
committer | mdf <mdf@FreeBSD.org> | 2011-05-13 05:27:58 +0000 |
commit | bbbc4c545502c531d59efe43f9b7bde9b9a92979 (patch) | |
tree | adb29eb7ec0b83c1b5131762d1a0bd2a78471e17 /sys/kern/kern_synch.c | |
parent | 224bed0ec43f4c221ce29acc84da51964f83f818 (diff) | |
download | FreeBSD-src-bbbc4c545502c531d59efe43f9b7bde9b9a92979.zip FreeBSD-src-bbbc4c545502c531d59efe43f9b7bde9b9a92979.tar.gz |
Use a name instead of a magic number for kern_yield(9) when the priority
should not change. Fetch the td_user_pri under the thread lock. This
is probably not necessary but a magic number also seems preferable to
knowing the implementation details here.
Requested by: Jason Behmer < jason DOT behmer AT isilon DOT com >
Diffstat (limited to 'sys/kern/kern_synch.c')
-rw-r--r-- | sys/kern/kern_synch.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index a3e920d..d3aef76 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -551,7 +551,7 @@ maybe_yield(void) { if (should_yield()) - kern_yield(curthread->td_user_pri); + kern_yield(PRI_USER); } void @@ -562,6 +562,8 @@ kern_yield(int prio) td = curthread; DROP_GIANT(); thread_lock(td); + if (prio == PRI_USER) + prio = td->td_user_pri; if (prio >= 0) sched_prio(td, prio); mi_switch(SW_VOL | SWT_RELINQUISH, NULL); |