#define QOS_MIN_RELATIVE_PRIORITY -15
#endif
-pthread_priority_t
+pthread_priority_compact_t
_pthread_priority_normalize(pthread_priority_t pp)
{
if (pp & _PTHREAD_PRIORITY_EVENT_MANAGER_FLAG) {
pp |= _PTHREAD_PRIORITY_PRIORITY_MASK;
}
return pp & (_PTHREAD_PRIORITY_OVERCOMMIT_FLAG |
- _PTHREAD_PRIORITY_FALLBACK_FLAG |
- _PTHREAD_PRIORITY_QOS_CLASS_MASK |
- _PTHREAD_PRIORITY_PRIORITY_MASK);
+ _PTHREAD_PRIORITY_FALLBACK_FLAG |
+ _PTHREAD_PRIORITY_QOS_CLASS_MASK |
+ _PTHREAD_PRIORITY_PRIORITY_MASK);
}
return _pthread_unspecified_priority();
}
-pthread_priority_t
+pthread_priority_compact_t
_pthread_priority_normalize_for_ipc(pthread_priority_t pp)
{
if (_pthread_priority_has_qos(pp)) {
pp |= _PTHREAD_PRIORITY_PRIORITY_MASK;
}
return pp & (_PTHREAD_PRIORITY_QOS_CLASS_MASK |
- _PTHREAD_PRIORITY_PRIORITY_MASK);
+ _PTHREAD_PRIORITY_PRIORITY_MASK);
}
return _pthread_unspecified_priority();
}
-pthread_priority_t
+pthread_priority_compact_t
_pthread_priority_combine(pthread_priority_t base_pp, thread_qos_t qos)
{
if (base_pp & _PTHREAD_PRIORITY_EVENT_MANAGER_FLAG) {
if (base_pp & _PTHREAD_PRIORITY_FALLBACK_FLAG) {
if (!qos) {
- return base_pp;
+ return (pthread_priority_compact_t)base_pp;
}
} else if (qos < _pthread_priority_thread_qos(base_pp)) {
- return base_pp;
+ return (pthread_priority_compact_t)base_pp;
}
return _pthread_priority_make_from_thread_qos(qos, 0,
- base_pp & _PTHREAD_PRIORITY_OVERCOMMIT_FLAG);
+ base_pp & _PTHREAD_PRIORITY_OVERCOMMIT_FLAG);
}