VMS Help
POSIX Threads, PTHREAD routines, pthread_attr_setscope
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Sets the contention scope attribute of the specified thread
attributes object.
#include <pthread.h>
int
pthread_attr_setscope (
pthread_attr_t *attr,
int scope);
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.
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.
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.
pthread_attr_destroy()
pthread_attr_init()
pthread_attr_getscope()
pthread_attr_setinheritsched()
pthread_create()
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.