summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/tasksetaffinity.c
diff options
context:
space:
mode:
authorJennifer Averett <jennifer.averett@oarcorp.com>2014-03-18 13:55:54 -0500
committerJennifer Averett <jennifer.averett@oarcorp.com>2014-04-03 10:48:57 -0500
commit54f345f5a5c9160b8839d080cdfd36ee13f4dada (patch)
tree4c94234e10ad890895bda1f00c12f1536805b732 /cpukit/rtems/src/tasksetaffinity.c
parentsapi: Add priority affinity smp scheduler. (diff)
downloadrtems-54f345f5a5c9160b8839d080cdfd36ee13f4dada.tar.bz2
rtems: Move affinity from thread to scheduler.
Diffstat (limited to 'cpukit/rtems/src/tasksetaffinity.c')
-rw-r--r--cpukit/rtems/src/tasksetaffinity.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/cpukit/rtems/src/tasksetaffinity.c b/cpukit/rtems/src/tasksetaffinity.c
index 2b40fcbd7e..4d767410a9 100644
--- a/cpukit/rtems/src/tasksetaffinity.c
+++ b/cpukit/rtems/src/tasksetaffinity.c
@@ -23,6 +23,7 @@
#include <rtems/rtems/tasks.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/cpusetimpl.h>
+#include <rtems/score/schedulerimpl.h>
rtems_status_code rtems_task_set_affinity(
rtems_id id,
@@ -32,21 +33,20 @@ rtems_status_code rtems_task_set_affinity(
{
Thread_Control *the_thread;
Objects_Locations location;
- int error;
+ int ok;
if ( !cpuset )
return RTEMS_INVALID_ADDRESS;
- error = _CPU_set_Is_valid( cpuset, cpusetsize );
- if ( error != 0 )
- return RTEMS_INVALID_NUMBER;
-
the_thread = _Thread_Get( id, &location );
switch ( location ) {
case OBJECTS_LOCAL:
- CPU_COPY( the_thread->affinity.set, cpuset );
+ ok = _Scheduler_Set_affinity( the_thread, cpusetsize, cpuset );
_Objects_Put( &the_thread->Object );
+ if (! ok) {
+ return RTEMS_INVALID_NUMBER;
+ }
return RTEMS_SUCCESSFUL;
#if defined(RTEMS_MULTIPROCESSING)