[PATCH] posix: Get real priority in pthread_getattr_np()
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue May 12 05:28:44 UTC 2020
This is in line with pthread_setschedparam() and
pthread_getschedparam().
Update #2514.
---
cpukit/posix/src/pthreadgetattrnp.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/cpukit/posix/src/pthreadgetattrnp.c b/cpukit/posix/src/pthreadgetattrnp.c
index a449ad48eb..eae29d1de7 100644
--- a/cpukit/posix/src/pthreadgetattrnp.c
+++ b/cpukit/posix/src/pthreadgetattrnp.c
@@ -40,6 +40,7 @@ int pthread_getattr_np(
ISR_lock_Context lock_context;
Thread_CPU_budget_algorithms budget_algorithm;
const Scheduler_Control *scheduler;
+ Priority_Control priority;
bool ok;
if ( attr == NULL ) {
@@ -66,15 +67,12 @@ int pthread_getattr_np(
}
scheduler = _Thread_Scheduler_get_home( the_thread );
- attr->schedparam.sched_priority = _POSIX_Priority_From_core(
- scheduler,
- _Thread_Get_priority( the_thread )
- );
_POSIX_Threads_Get_sched_param_sporadic(
the_thread,
scheduler,
&attr->schedparam
);
+ priority = the_thread->Real_priority.priority;
if ( _Thread_Is_joinable( the_thread ) ) {
attr->detachstate = PTHREAD_CREATE_JOINABLE;
@@ -97,6 +95,10 @@ int pthread_getattr_np(
attr->is_initialized = true;
attr->contentionscope = PTHREAD_SCOPE_PROCESS;
attr->cputime_clock_allowed = 1;
+ attr->schedparam.sched_priority = _POSIX_Priority_From_core(
+ scheduler,
+ priority
+ );
attr->schedpolicy =
_POSIX_Thread_Translate_to_sched_policy( budget_algorithm );
--
2.26.1
More information about the devel
mailing list