summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3p/pthread_getschedparam.3p
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man3p/pthread_getschedparam.3p')
-rw-r--r--upstream/archlinux/man3p/pthread_getschedparam.3p195
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 .