diff options
Diffstat (limited to 'upstream/archlinux/man3p/pthread_getschedparam.3p')
-rw-r--r-- | upstream/archlinux/man3p/pthread_getschedparam.3p | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/pthread_getschedparam.3p b/upstream/archlinux/man3p/pthread_getschedparam.3p new file mode 100644 index 00000000..d4e35f51 --- /dev/null +++ b/upstream/archlinux/man3p/pthread_getschedparam.3p @@ -0,0 +1,195 @@ +'\" et +.TH PTHREAD_GETSCHEDPARAM "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.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. +.\" +.SH NAME +pthread_getschedparam, +pthread_setschedparam +\(em dynamic thread scheduling parameters access +(\fBREALTIME THREADS\fP) +.SH SYNOPSIS +.LP +.nf +#include <pthread.h> +.P +int pthread_getschedparam(pthread_t \fIthread\fP, int *restrict \fIpolicy\fP, + struct sched_param *restrict \fIparam\fP); +int pthread_setschedparam(pthread_t \fIthread\fP, int \fIpolicy\fP, + const struct sched_param *\fIparam\fP); +.fi +.SH DESCRIPTION +The +\fIpthread_getschedparam\fR() +and +\fIpthread_setschedparam\fR() +functions shall, respectively, get and set the scheduling policy and +parameters of individual threads within a multi-threaded process to be +retrieved and set. For SCHED_FIFO and SCHED_RR, +the only required member of the +.BR sched_param +structure is the priority +.IR sched_priority . +For SCHED_OTHER, +the affected scheduling parameters are implementation-defined. +.P +The +\fIpthread_getschedparam\fR() +function shall retrieve the scheduling policy and scheduling parameters +for the thread whose thread ID is given by +.IR thread +and shall store those values in +.IR policy +and +.IR param , +respectively. The priority value returned from +\fIpthread_getschedparam\fR() +shall be the value specified by the most recent +\fIpthread_setschedparam\fR(), +\fIpthread_setschedprio\fR(), +or +\fIpthread_create\fR() +call affecting the target thread. It shall not reflect any temporary +adjustments to its priority as a result of any priority inheritance or +ceiling functions. The +\fIpthread_setschedparam\fR() +function shall set the scheduling policy and associated scheduling +parameters for the thread whose thread ID is given by +.IR thread +to the policy and associated parameters provided in +.IR policy +and +.IR param , +respectively. +.P +The +.IR policy +parameter may have the value SCHED_OTHER, SCHED_FIFO, or SCHED_RR. The +scheduling parameters for the SCHED_OTHER policy are +implementation-defined. The SCHED_FIFO and SCHED_RR policies shall +have a single scheduling parameter, +.IR priority . +.P +If _POSIX_THREAD_SPORADIC_SERVER is defined, then the +.IR policy +argument may have the value SCHED_SPORADIC, with the exception for the +\fIpthread_setschedparam\fR() +function that if the scheduling policy was not SCHED_SPORADIC at the +time of the call, it is implementation-defined whether the function +is supported; in other words, the implementation need not allow the +application to dynamically change the scheduling policy to +SCHED_SPORADIC. The sporadic server scheduling policy has the +associated parameters +.IR sched_ss_low_priority , +.IR sched_ss_repl_period , +.IR sched_ss_init_budget , +.IR sched_priority , +and +.IR sched_ss_max_repl . +The specified +.IR sched_ss_repl_period +shall be greater than or equal to the specified +.IR sched_ss_init_budget +for the function to succeed; if it is not, then the function shall +fail. The value of +.IR sched_ss_max_repl +shall be within the inclusive range [1,\c +{SS_REPL_MAX}] +for the function to succeed; if not, the function shall fail. +It is unspecified whether the +.IR sched_ss_repl_period +and +.IR sched_ss_init_budget +values are stored as provided by this function or are rounded to +align with the resolution of the clock being used. +.P +If the +\fIpthread_setschedparam\fR() +function fails, the scheduling parameters shall not be changed +for the target thread. +.SH "RETURN VALUE" +If successful, the +\fIpthread_getschedparam\fR() +and +\fIpthread_setschedparam\fR() +functions shall return zero; otherwise, an error number shall be +returned to indicate the error. +.SH ERRORS +The +\fIpthread_setschedparam\fR() +function shall fail if: +.TP +.BR ENOTSUP +An attempt was made to set the policy or scheduling parameters to an +unsupported value. +.TP +.BR ENOTSUP +An attempt was made to dynamically change the scheduling policy to +SCHED_SPORADIC, and the implementation does not support this change. +.P +The +\fIpthread_setschedparam\fR() +function may fail if: +.TP +.BR EINVAL +The value specified by +.IR policy +or one of the scheduling parameters associated with the scheduling +policy +.IR policy +is invalid. +.TP +.BR EPERM +The caller does not have appropriate privileges to set either the +scheduling parameters or the scheduling policy of the specified +thread. +.TP +.BR EPERM +The implementation does not allow the application to modify +one of the parameters to the value specified. +.P +These functions shall not return an error code of +.BR [EINTR] . +.LP +.IR "The following sections are informative." +.SH EXAMPLES +None. +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +If an implementation detects use of a thread ID after the end of its +lifetime, it is recommended that the function should fail and report an +.BR [ESRCH] +error. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fIpthread_setschedprio\fR\^(\|)", +.IR "\fIsched_getparam\fR\^(\|)", +.IR "\fIsched_getscheduler\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "\fB<pthread.h>\fP", +.IR "\fB<sched.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 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 . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |