diff options
Diffstat (limited to 'cpukit/posix/src/pthreadattrsetaffinitynp.c')
-rw-r--r-- | cpukit/posix/src/pthreadattrsetaffinitynp.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/cpukit/posix/src/pthreadattrsetaffinitynp.c b/cpukit/posix/src/pthreadattrsetaffinitynp.c index e5462ec5c4..0e3c828c38 100644 --- a/cpukit/posix/src/pthreadattrsetaffinitynp.c +++ b/cpukit/posix/src/pthreadattrsetaffinitynp.c @@ -24,27 +24,21 @@ #include <pthread.h> #include <errno.h> -#include <rtems/posix/pthreadimpl.h> -#include <rtems/posix/priorityimpl.h> -#include <rtems/score/threadimpl.h> -#include <rtems/score/cpusetimpl.h> - int pthread_attr_setaffinity_np( pthread_attr_t *attr, size_t cpusetsize, const cpu_set_t *cpuset ) { - if ( !cpuset ) - return EFAULT; - if ( !attr ) - return EFAULT; + if ( attr == NULL || !attr->is_initialized ) { + return EINVAL; + } - if (! _CPU_set_Is_valid( cpuset, cpusetsize ) ) + if ( cpuset == NULL || cpusetsize != attr->affinitysetsize ) { return EINVAL; + } CPU_COPY( cpuset, attr->affinityset ); - return 0; } |