|
pthread_setschedparam(3)
Contents
|
pthread_setschedparam - Changes a thread's scheduling policy
and scheduling parameters
#include <pthread.h>
int pthread_setschedparam(
pthread_t thread,
int policy,
const struct sched_param *param );
DECthreads POSIX 1003.1c Library (libpthread.so)
interfaces documented on this reference page conform to
industry standards as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program
Interface
Thread whose scheduling policy and parameters are to be
changed. New scheduling policy value for the thread specified
in thread. The following are valid values:
SCHED_BG_NP SCHED_FG_NP SCHED_FIFO SCHED_OTHER SCHED_RR
See Guide to DECthreads for a description of the
scheduling policies. New values of the scheduling
parameters associated with the scheduling policy
for the thread specified in thread. Valid values
for the sched_priority field of a sched_param
structure depend on the chosen scheduling policy.
Use the POSIX routines sched_get_priority_min(3) or
sched_get_priority_max(3) to determine the low and
high limits of each policy. Additionally, DECthreads
provides nonportable priority range constants,
as follows: PRI_FIFO_MIN (low) to
PRI_FIFO_MAX (high) PRI_RR_MIN (low) to PRI_RR_MAX
(high) PRI_OTHER_MIN (low) to PRI_OTHER_MAX (high)
PRI_FG_MIN_NP (low) to PRI_FG_MAX_NP (high)
PRI_BG_MIN_NP (low) to PRI_BG_MAX_NP (high)
The default priority varies by DECthreads platform.
On Tru64 UNIX, the default is 19 (that is, the
POSIX priority of a normal timeshare process). On
the non-UNIX platforms, the default priority is the
midpoint between PRI_FG_MIN_NP and PRI_FG_MAX_NP.
This routine changes both the current scheduling policy
and associated scheduling parameters of the thread specified
by thread to the policy and associated parameters
provided in policy and param, respectively.
All currently implemented DECthreads scheduling policies
have one scheduling parameter called sched_priority. For
the policy you choose, you must specify an appropriate
value in the sched_priority field of the sched_param
structure.
Changing the scheduling policy or priority, or both, of a
thread can cause it to start executing or to be preempted
by another thread. A thread changes its own scheduling
policy and priority by using the handle returned by the
pthread_self(3) routine.
This routine differs from pthread_attr_setschedpolicy(3)
and pthread_attr_setschedparam(3), in that those routines
set the scheduling policy and parameter attributes that
are used to establish the scheduling priority and scheduling
policy of a new thread when it is created. However,
this routine changes the scheduling policy and parameters
of an existing thread.
If an error condition occurs, no scheduling policy or
parameters are changed for the target thread, and this
routine returns an integer value indicating the type of
error. Possible return values are as follows: Successful
completion. The value specified by policy or param is
invalid. An attempt was made to set the scheduling policy
or a parameter to an unsupported value. The caller does
not have the appropriate privileges to set the scheduling
policy or parameters of the specified thread. The value
specified by thread does not refer to an existing thread.
None
Functions: pthread_attr_setschedparam(3),
pthread_attr_setschedpolicy(3), pthread_create(3),
pthread_self(3), sched_yield(3)
Manuals: Guide to DECthreads and Programmer's Guide
pthread_setschedparam(3)
[ Back ] |