summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/schedulergetaffinity.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src/schedulergetaffinity.c')
-rw-r--r--cpukit/score/src/schedulergetaffinity.c44
1 files changed, 21 insertions, 23 deletions
diff --git a/cpukit/score/src/schedulergetaffinity.c b/cpukit/score/src/schedulergetaffinity.c
index d9e62b5650..06ebfbe6a6 100644
--- a/cpukit/score/src/schedulergetaffinity.c
+++ b/cpukit/score/src/schedulergetaffinity.c
@@ -21,35 +21,33 @@
#if defined(__RTEMS_HAVE_SYS_CPUSET_H__)
bool _Scheduler_Get_affinity(
- const Scheduler_Control *scheduler,
- Thread_Control *the_thread,
- size_t cpusetsize,
- cpu_set_t *cpuset
+ Thread_Control *the_thread,
+ size_t cpusetsize,
+ cpu_set_t *cpuset
)
{
- bool ok;
+ const Scheduler_Control *scheduler = _Scheduler_Get( the_thread );
+
+ if ( !_CPU_set_Is_large_enough( cpusetsize ) ) {
+ return false;
+ }
+
- if ( _CPU_set_Is_large_enough( cpusetsize ) ) {
#if defined(RTEMS_SMP)
- ok = ( *scheduler->Operations.get_affinity )(
- scheduler,
- the_thread,
- cpusetsize,
- cpuset
- );
+ return ( *scheduler->Operations.get_affinity )(
+ scheduler,
+ the_thread,
+ cpusetsize,
+ cpuset
+ );
#else
- ok = _Scheduler_default_Get_affinity_body(
- scheduler,
- the_thread,
- cpusetsize,
- cpuset
- );
+ return _Scheduler_default_Get_affinity_body(
+ scheduler,
+ the_thread,
+ cpusetsize,
+ cpuset
+ );
#endif
- } else {
- ok = false;
- }
-
- return ok;
}
#endif /* defined(__RTEMS_HAVE_SYS_CPUSET_H__) */