VMS Help  —  POSIX Threads, PTHREAD routines, pthread_attr_setscope
    Sets the contention scope attribute of the specified thread
    attributes object.

1  –  C Binding

    #include <pthread.h>

    int
    pthread_attr_setscope (
                pthread_attr_t   *attr,
                int   scope);

2  –  Arguments

 attr

    Address of the thread attributes object whose contention scope
    attribute is to be modified.

 scope

    New value for the contention scope attribute of the thread
    attributes object specified by attr.

3  –  Description

    This routine uses the value specified in the scope argument
    to set the contention scope attribute of the thread attributes
    object specified in the attr argument.

    When creating a thread, use a thread attributes object to specify
    nondefault values for thread attributes. The contention scope
    attribute specifies the set of threads with which a thread must
    compete for processing resources. The contention scope attribute
    specifies whether the new thread competes for processing
    resources only with other threads in its own process, called
    process contention scope, or with all threads on the system,
    called system contention scope.

    The Threads Library selects at most one thread to execute on
    each processor at any point in time. The Threads Library resolves
    the contention based on each thread's scheduling attributes (for
    example, priority) and scheduling policy (for example, round-
    robin).

    A thread created using a thread attributes object whose
    contention scope attribute is set to PTHREAD_SCOPE_PROCESS
    contends for processing resources with other threads within its
    own process that also were created with PTHREAD_SCOPE_PROCESS. It
    is unspecified how such threads are scheduled relative to either
    threads in other processes or threads in the same process that
    were created with PTHREAD_SCOPE_SYSTEM contention scope.

    A thread created using a thread attributes object whose
    contention scope attribute is set to PTHREAD_SCOPE_SYSTEM
    contends for processing resources with other threads in any
    process that also were created with PTHREAD_SCOPE_SYSTEM.

    Note that the value of the contention scope attribute of a
    particular thread attributes object does not necessarily
    correspond to the actual scheduling contention scope of any
    existing thread in your multithreaded program.

4  –  Return Values

    If an error condition occurs, this routine returns an integer
    value indicating the type of error. Possible return values are as
    follows:

    Return      Description

    0           Successful completion.
    [EINVAL]    The value specified by attr is not a valid thread
                attributes value, or the value specified by scope is
                not valid.
    [ENOTSUP]   An attempt was made to set the attribute to an
                unsupported value.

5  –  Associated Routines

       pthread_attr_destroy()
       pthread_attr_init()
       pthread_attr_getscope()
       pthread_attr_setinheritsched()
       pthread_create()
Close Help