PTHREAD_ATTR_GETSCOPE(3) BSD Library Functions Manual PTHREAD_ATTR_GETSCOPE(3)NAME
pthread_attr_getscope — get and set the contention scope attribute
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
int
pthread_attr_getscope(const pthread_attr_t * restrict attr,
int * restrict contentionscope);
int
pthread_attr_setscope(pthread_attr_t *attr, int contentionscope);
DESCRIPTION
The pthread_attr_getscope() and pthread_attr_setscope() functions get and
set, respectively, the contention scope attribute in the attr object.
The contentionscope parameter specifies the scheduling contention scope
of a thread. It is only possible to set the scope of a thread before the
thread is created. There are two possible contention scopes:
PTHREAD_SCOPE_SYSTEM The thread will contend for CPU resources with
all other processes and threads in the system.
Generally this means that the user thread is
bound directly to the kernel scheduling for its
entire lifetime.
PTHREAD_SCOPE_PROCESS The thread will contend with other threads with
the same scope attribute. In general, this
means that all PTHREAD_SCOPE_PROCESS threads are
grouped together and this group of threads con‐
tends for CPU resources. This is commonly seen
to require a hybrid (“M:N”) threading model in
order to multiplex the user and kernel space
scheduling.
Only PTHREAD_SCOPE_SYSTEM is supported in NetBSD.
RETURN VALUES
Upon successful completion, both functions return 0. Otherwise an error
number is returned to indicate the error.
ERRORS
No errors are defined for pthread_attr_getscope().
The pthread_attr_setscope() function shall fail if:
[EINVAL] Invalid parameter.
SEE ALSOpthread_attr(3), csf(9)STANDARDS
Both functions conform to ISO/IEC 9945-1:1996 (“POSIX.1”).
BSD July 7, 2010 BSD