PTHREAD_ATTR_SETSCHEDPARAM
Section: Linux Programmer's Manual (3)
Updated: 2008-11-17
Index
Return to Main Contents
NAME
pthread_attr_setschedparam, pthread_attr_getschedparam - set/get
scheduling parameter attributes in thread attributes object
SYNOPSIS
#include <pthread.h>
int pthread_attr_setschedparam(pthread_attr_t *attr,
const struct sched_param *param);
int pthread_attr_getschedparam(pthread_attr_t *attr,
struct sched_param *param);
Compile and link with -pthread.
DESCRIPTION
The
pthread_attr_setschedparam()
function sets the scheduling parameter attributes of the
thread attributes object referred to by
thread
to the values specified in the buffer pointed to by
param.
These attributes determine the scheduling parameters of
a thread created using the thread attributes object
attr.
The
pthread_attr_getschedparam()
returns the scheduling parameter attributes of the thread attributes object
attr
in the buffer pointed to by
param.
Scheduling parameters are maintained in the following structure:
struct sched_param {
int sched_priority; /* Scheduling priority */
};
As can be seen, only one scheduling parameter is supported.
For details of the permitted ranges for scheduling priorities
in each scheduling policy, see
sched_setscheduler(2).
RETURN VALUE
On success, these functions return 0;
on error, they return a non-zero error number.
ERRORS
POSIX.1 documents
EINVAL
and
ENOTSUP
errors for
pthread_attr_setschedparam().
On Linux these functions always succeed
(but portable and future-proof applications should nevertheless
handle a possible error return).
CONFORMING TO
POSIX.1-2001.
EXAMPLE
See
pthread_setschedparam(3).
NOTES
See
pthread_attr_setschedpolicy(3)
for a list of the thread scheduling policies supported on Linux.
SEE ALSO
sched_get_priority_min(2),
sched_setscheduler(2),
pthread_attr_init(3),
pthread_attr_setinheritsched(3),
pthread_attr_setschedpolicy(3),
pthread_create(3),
pthread_setschedparam(3),
pthread_setschedprio(3),
pthreads(7)
COLOPHON
This page is part of release 3.22 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.