Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


PTHREAD_ATTR_GETSCOPE(3)   Library Functions Manual   PTHREAD_ATTR_GETSCOPE(3)

NAME
     pthread_attr_getscope, pthread_attr_setscope - 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
                              contends 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 ALSO
     pthread_attr(3), csf(9)

STANDARDS
     Both functions conform to ISO/IEC 9945-1:1996 ("POSIX.1").

NetBSD 10.99                     July 7, 2010                     NetBSD 10.99