src/share/vm/runtime/os.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/os.cpp	Sun Sep 16 22:24:14 2012
--- new/src/share/vm/runtime/os.cpp	Sun Sep 16 22:24:13 2012

*** 199,216 **** --- 199,223 ---- assert(false, "Should not happen"); return OS_ERR; } } + // The mapping from OS priority back to Java priority may be inexact because + // Java priorities can map M:1 with native priorities. If you want the definite + // Java priority then use JavaThread::java_priority() OSReturn os::get_priority(const Thread* const thread, ThreadPriority& priority) { int p; int os_prio; OSReturn ret = get_native_priority(thread, &os_prio); if (ret != OS_OK) return ret; + if (java_to_os_priority[MaxPriority] > java_to_os_priority[MinPriority]) { for (p = MaxPriority; p > MinPriority && java_to_os_priority[p] > os_prio; p--) ; + } else { + // niceness values are in reverse order + for (p = MaxPriority; p > MinPriority && java_to_os_priority[p] < os_prio; p--) ; + } priority = (ThreadPriority)p; return OS_OK; }

src/share/vm/runtime/os.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File