|PTHREAD_ATTR_SETAFFINITY_NP(3)||Linux Programmer's Manual||PTHREAD_ATTR_SETAFFINITY_NP(3)|
NAMEpthread_attr_setaffinity_np, pthread_attr_getaffinity_np - set/get CPU affinity attribute in thread attributes object
#define _GNU_SOURCE /* See feature_test_macros(7) */ #include
int pthread_attr_setaffinity_np(pthread_attr_t *attr,
size_t cpusetsize, const cpu_set_t *cpuset);
int pthread_attr_getaffinity_np(pthread_attr_t *attr,
size_t cpusetsize, cpu_set_t *cpuset);
Compile and link with -pthread.
DESCRIPTIONThe pthread_attr_setaffinity_np() function sets the CPU affinity mask attribute of the thread attributes object referred to by attr to the value specified in cpuset. This attribute determines the CPU affinity mask of a thread created using the thread attributes object attr.
RETURN VALUEOn success, these functions return 0; on error, they return a nonzero error number.
- ( pthread_attr_setaffinity_np()) cpuset specified a CPU that was outside the set supported by the kernel. (The kernel configuration option CONFIG_NR_CPUS defines the range of the set supported by the kernel data type used to represent CPU sets.)
- ( pthread_attr_getaffinity_np()) A CPU in the affinity mask of the thread attributes object referred to by attr lies outside the range specified by cpusetsize (i.e., cpuset/ cpusetsize is too small).
- ( pthread_attr_setaffinity_np()) Could not allocate memory.
VERSIONSThese functions are provided by glibc since version 2.3.4.
CONFORMING TOThese functions are nonstandard GNU extensions; hence the suffix "_np" (nonportable) in the names.
NOTESIn glibc 2.3.3 only, versions of these functions were provided that did not have a cpusetsize argument. Instead the CPU set size given to the underlying system calls was always sizeof(cpu_set_t).
SEE ALSOsched_setaffinity(2), pthread_attr_init(3), pthread_setaffinity_np(3), cpuset(7), pthreads(7)
COLOPHONThis page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.