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

src/share/vm/runtime/os.cpp

Print this page

        

*** 199,216 **** assert(false, "Should not happen"); return OS_ERR; } } ! 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; for (p = MaxPriority; p > MinPriority && java_to_os_priority[p] > os_prio; p--) ; priority = (ThreadPriority)p; return OS_OK; } --- 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