NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO
#include <pthread.h>int pthread_attr_setscope(pthread_attr_t * attr, int contentionscope);
Thread creation attributes and their defaults are summarized in pthread_attr_init (3POSIX).
The contentionscope attribute specifies the scope of thread scheduling decisions relative to a pthread. In the CHORUS/POSIX Micro Realtime Profile, the only contentionscope value supported is PTHREAD_SCOPE_SYSTEM, which means that the thread competes directly with all other threads on the site for processor resources. The pthread_attr_setscope and pthread_attr_getscope functions respectively set and get the contentionscope attribute in the thread creation attribute object designated by attr .
The inheritsched attribute controls the initialization of scheduling parameters in the newly created thread:
Specifies that the scheduling policy and associated attributes (for exanmple, priority) are to be inherited from the creating thread, and the corresponding values in the attribute object are to be ignored. This is the default.
Specifies that the scheduling policy and associated attributes in the new thread are to be set to the corresponding values from the attribute object.
The pthread_attr_setinheritsched and pthread_attr_getinheritsched functions respectively set and get the inheritsched attribute in the attr object.
The schedpolicy attribute specifies the thread scheduling policy. Supported values include SCHED_RR, SCHED_FIFO, and SCHED_OTHER which is equivalent to SCHED_RR (see mrtp (3POSIX) for information on scheduling). The pthread_attr_setschedpolicy and pthread_attr_getschedpolicy functions respectively set and get the schedpolicy attribute in the attr object.
Each POSIX scheduling policy defines a parameter structure sched_param containing parameters specific to the policy. For both SCHED_RR and SCHED_FIFO the sole parameter is thread priority, and the structure is defined as follows:
struct sched_param { int sched_priority; }; |
The pthread_attr_setschedparam and pthread_attr_getschedparam functions respectively set and get the scheduling parameter structure in the attr object.
Upon successful completion, all calls listed above return zero. Otherwise an error code is returned. (NOTE: These calls do not set errno .)
pthread_attr_setinheritsched was invoked with an invalid inherit argument. pthread_attr_setschedparam was invoked with an invalid value for the sched_priority member of the param argument.
pthread_attr_setscope was invoked with a contentionscope argument other than PTHREAD_SCOPE_SYSTEM. pthread_attr_setschedpolicy was invoked with an unsupported value for the policy argument.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | SEE ALSO