 |
Index for Section 3 |
|
 |
Alphabetical listing for P |
|
 |
Bottom of page |
|
pthread_setschedparam(3)
NAME
pthread_setschedparam - Changes a thread's scheduling policy and scheduling
parameters
SYNOPSIS
#include <pthread.h>
int pthread_setschedparam(
pthread_t thread,
int policy,
const struct sched_param *param );
LIBRARY
DECthreads POSIX 1003.1c Library (libpthread.so)
STANDARDS
interfaces documented on this reference page conform to industry standards
as follows:
IEEE Std 1003.1c-1995, POSIX System Application Program Interface
PARAMETERS
thread
Thread whose scheduling policy and parameters are to be changed.
policy
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.
param
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.
DESCRIPTION
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.
RETURN VALUES
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:
0 Successful completion.
[EINVAL]
The value specified by policy or param is invalid.
[ENOTSUP]
An attempt was made to set the scheduling policy or a parameter to an
unsupported value.
[EPERM]
The caller does not have the appropriate privileges to set the
scheduling policy or parameters of the specified thread.
[ESRCH]
The value specified by thread does not refer to an existing thread.
ERRORS
None
SEE ALSO
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
 |
Index for Section 3 |
|
 |
Alphabetical listing for P |
|
 |
Top of page |
|