2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
2007-06-20 22:33:04 +00:00
|
|
|
.TH "PTHREAD_SETSCHEDPRIO" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" pthread_setschedprio
|
2007-09-20 06:03:25 +00:00
|
|
|
.SH PROLOG
|
|
|
|
This manual page is part of the POSIX Programmer's Manual.
|
|
|
|
The Linux implementation of this interface may differ (consult
|
|
|
|
the corresponding Linux manual page for details of Linux behavior),
|
|
|
|
or the interface may not be implemented on Linux.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
|
|
|
pthread_setschedprio \- dynamic thread scheduling parameters access
|
|
|
|
(\fBREALTIME THREADS\fP)
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.LP
|
|
|
|
\fB#include <pthread.h>
|
|
|
|
.br
|
|
|
|
.sp
|
|
|
|
int pthread_setschedprio(pthread_t\fP \fIthread\fP\fB, int\fP \fIprio\fP\fB);
|
|
|
|
\fP
|
|
|
|
\fB
|
|
|
|
.br
|
|
|
|
\fP
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
The \fIpthread_setschedprio\fP() function shall set the scheduling
|
|
|
|
priority for the thread whose thread ID is given by
|
|
|
|
\fIthread\fP to the value given by \fIprio\fP. See \fIScheduling Policies\fP
|
|
|
|
for a description on how this function call affects the ordering of
|
|
|
|
the thread in the thread list for its new priority.
|
|
|
|
.LP
|
|
|
|
If the \fIpthread_setschedprio\fP() function fails, the scheduling
|
|
|
|
priority of the target thread shall not be changed.
|
|
|
|
.SH RETURN VALUE
|
|
|
|
.LP
|
|
|
|
If successful, the \fIpthread_setschedprio\fP() function shall return
|
|
|
|
zero; otherwise, an error number shall be returned to
|
|
|
|
indicate the error.
|
|
|
|
.SH ERRORS
|
|
|
|
.LP
|
|
|
|
The \fIpthread_setschedprio\fP() function may fail if:
|
|
|
|
.TP 7
|
|
|
|
.B EINVAL
|
|
|
|
The value of \fIprio\fP is invalid for the scheduling policy of the
|
|
|
|
specified thread.
|
|
|
|
.TP 7
|
|
|
|
.B ENOTSUP
|
|
|
|
An attempt was made to set the priority to an unsupported value.
|
|
|
|
.TP 7
|
|
|
|
.B EPERM
|
|
|
|
The caller does not have the appropriate permission to set the scheduling
|
|
|
|
policy of the specified thread.
|
|
|
|
.TP 7
|
|
|
|
.B EPERM
|
|
|
|
The implementation does not allow the application to modify the priority
|
|
|
|
to the value specified.
|
|
|
|
.TP 7
|
|
|
|
.B ESRCH
|
|
|
|
The value specified by \fIthread\fP does not refer to an existing
|
|
|
|
thread.
|
|
|
|
.sp
|
|
|
|
.LP
|
|
|
|
The \fIpthread_setschedprio\fP() function shall not return an error
|
|
|
|
code of [EINTR].
|
|
|
|
.LP
|
|
|
|
\fIThe following sections are informative.\fP
|
|
|
|
.SH EXAMPLES
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH APPLICATION USAGE
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH RATIONALE
|
|
|
|
.LP
|
|
|
|
The \fIpthread_setschedprio\fP() function provides a way for an application
|
|
|
|
to temporarily raise its priority and then lower it
|
|
|
|
again, without having the undesired side effect of yielding to other
|
|
|
|
threads of the same priority. This is necessary if the
|
|
|
|
application is to implement its own strategies for bounding priority
|
|
|
|
inversion, such as priority inheritance or priority ceilings.
|
|
|
|
This capability is especially important if the implementation does
|
|
|
|
not support the Thread Priority Protection or Thread Priority
|
|
|
|
Inheritance options, but even if those options are supported it is
|
|
|
|
needed if the application is to bound priority inheritance for
|
|
|
|
other resources, such as semaphores.
|
|
|
|
.LP
|
|
|
|
The standard developers considered that while it might be preferable
|
|
|
|
conceptually to solve this problem by modifying the
|
|
|
|
specification of \fIpthread_setschedparam\fP(), it was too late to
|
|
|
|
make such
|
|
|
|
a change, as there may be implementations that would need to be changed.
|
|
|
|
Therefore, this new function was introduced.
|
|
|
|
.SH FUTURE DIRECTIONS
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.LP
|
2007-09-20 06:33:41 +00:00
|
|
|
\fIScheduling Policies\fP, \fIpthread_getschedparam\fP(), the Base
|
2004-11-03 13:51:07 +00:00
|
|
|
Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<pthread.h>\fP
|
|
|
|
.SH COPYRIGHT
|
|
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
|
|
event of any discrepancy between this version and the original IEEE and
|
|
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
|
|
is the referee document. The original Standard can be obtained online at
|
|
|
|
http://www.opengroup.org/unix/online.html .
|