Files
oldlinux-files/Ref-docs/POSIX/susv3/functions/pthread_mutexattr_getprioceiling.html
2024-02-19 00:21:47 -05:00

158 lines
6.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
<title>pthread_mutexattr_getprioceiling</title>
</head>
<body bgcolor="white">
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
</script>
<basefont size="3"> <a name="pthread_mutexattr_getprioceiling"></a> <a name="tag_03_545"></a>
<!-- pthread_mutexattr_getprioceiling -->
<!--header start-->
<center><font size="2">The Open Group Base Specifications Issue 6<br>
IEEE Std 1003.1-2001<br>
Copyright &copy; 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
<!--header end-->
<hr size="2" noshade>
<h4><a name="tag_03_545_01"></a>NAME</h4>
<blockquote>pthread_mutexattr_getprioceiling, pthread_mutexattr_setprioceiling - get and set the prioceiling attribute of the mutex
attributes object (<b>REALTIME THREADS</b>)</blockquote>
<h4><a name="tag_03_545_02"></a>SYNOPSIS</h4>
<blockquote class="synopsis">
<div class="box"><code><tt><sup>[<a href="javascript:open_code('THR TPP')">THR TPP</a>]</sup> <img src="../images/opt-start.gif" alt=
"[Option Start]" border="0"> #include &lt;<a href="../basedefs/pthread.h.html">pthread.h</a>&gt;<br>
<br>
int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; restrict</tt> <i>attr</i><tt>, int *restrict</tt> <i>prioceiling</i><tt>);<br>
int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *</tt><i>attr</i><tt>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int</tt> <i>prioceiling</i><tt>); <img src="../images/opt-end.gif" alt="[Option End]" border=
"0"></tt></code></div>
<tt><br>
</tt></blockquote>
<h4><a name="tag_03_545_03"></a>DESCRIPTION</h4>
<blockquote>
<p>The <i>pthread_mutexattr_getprioceiling</i>() and <i>pthread_mutexattr_setprioceiling</i>() functions, respectively, shall get
and set the priority ceiling attribute of a mutex attributes object pointed to by <i>attr</i> which was previously created by the
function <a href="../functions/pthread_mutexattr_init.html"><i>pthread_mutexattr_init</i>()</a>.</p>
<p>The <i>prioceiling</i> attribute contains the priority ceiling of initialized mutexes. The values of <i>prioceiling</i> are
within the maximum range of priorities defined by SCHED_FIFO.</p>
<p>The <i>prioceiling</i> attribute defines the priority ceiling of initialized mutexes, which is the minimum priority level at
which the critical section guarded by the mutex is executed. In order to avoid priority inversion, the priority ceiling of the
mutex shall be set to a priority higher than or equal to the highest priority of all the threads that may lock that mutex. The
values of <i>prioceiling</i> are within the maximum range of priorities defined under the SCHED_FIFO scheduling policy.</p>
</blockquote>
<h4><a name="tag_03_545_04"></a>RETURN VALUE</h4>
<blockquote>
<p>Upon successful completion, the <i>pthread_mutexattr_getprioceiling</i>() and <i>pthread_mutexattr_setprioceiling</i>()
functions shall return zero; otherwise, an error number shall be returned to indicate the error.</p>
</blockquote>
<h4><a name="tag_03_545_05"></a>ERRORS</h4>
<blockquote>
<p>The <i>pthread_mutexattr_getprioceiling</i>() and <i>pthread_mutexattr_setprioceiling</i>() functions may fail if:</p>
<dl compact>
<dt>[EINVAL]</dt>
<dd>The value specified by <i>attr</i> or <i>prioceiling</i> is invalid.</dd>
<dt>[EPERM]</dt>
<dd>The caller does not have the privilege to perform the operation.</dd>
</dl>
<p>These functions shall not return an error code of [EINTR].</p>
</blockquote>
<hr>
<div class="box"><em>The following sections are informative.</em></div>
<h4><a name="tag_03_545_06"></a>EXAMPLES</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_545_07"></a>APPLICATION USAGE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_545_08"></a>RATIONALE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_545_09"></a>FUTURE DIRECTIONS</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_03_545_10"></a>SEE ALSO</h4>
<blockquote>
<p><a href="pthread_cond_destroy.html"><i>pthread_cond_destroy</i>()</a> , <a href=
"pthread_create.html"><i>pthread_create</i>()</a> , <a href="pthread_mutex_destroy.html"><i>pthread_mutex_destroy</i>()</a> , the
Base Definitions volume of IEEE&nbsp;Std&nbsp;1003.1-2001, <a href="../basedefs/pthread.h.html"><i>&lt;pthread.h&gt;</i></a></p>
</blockquote>
<h4><a name="tag_03_545_11"></a>CHANGE HISTORY</h4>
<blockquote>
<p>First released in Issue 5. Included for alignment with the POSIX Threads Extension.</p>
<p>Marked as part of the Realtime Threads Feature Group.</p>
</blockquote>
<h4><a name="tag_03_545_12"></a>Issue 6</h4>
<blockquote>
<p>The <i>pthread_mutexattr_getprioceiling</i>() and <i>pthread_mutexattr_setprioceiling</i>() functions are marked as part of the
Threads and Thread Priority Protection options.</p>
<p>The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Thread
Priority Protection option.</p>
<p>The [ENOTSUP] error condition has been removed since these functions do not have a <i>protocol</i> argument.</p>
<p>The <b>restrict</b> keyword is added to the <i>pthread_mutexattr_getprioceiling</i>() prototype for alignment with the
ISO/IEC&nbsp;9899:1999 standard.</p>
</blockquote>
<div class="box"><em>End of informative text.</em></div>
<hr>
<hr size="2" noshade>
<center><font size="2"><!--footer start-->
UNIX &reg; is a registered Trademark of The Open Group.<br>
POSIX &reg; is a registered Trademark of The IEEE.<br>
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
]</font></center>
<!--footer end-->
<hr size="2" noshade>
</body>
</html>