⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sem_post.html

📁 posix标准英文,html格式
💻 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-2004 IEEE and The Open Group, All Rights Reserved --><title>sem_post</title></head><body bgcolor="white"><script type="text/javascript" language="JavaScript" src="../jscript/codes.js"></script><basefont size="3"> <a name="sem_post"></a> <a name="tag_03_633"></a><!-- sem_post --> <!--header start--><center><font size="2">The Open Group Base Specifications Issue 6<br>IEEE Std 1003.1, 2004 Edition<br>Copyright &copy; 2001-2004 The IEEE and The Open Group, All Rights reserved.</font></center><!--header end--><hr size="2" noshade><h4><a name="tag_03_633_01"></a>NAME</h4><blockquote>sem_post - unlock a semaphore (<b>REALTIME</b>)</blockquote><h4><a name="tag_03_633_02"></a>SYNOPSIS</h4><blockquote class="synopsis"><div class="box"><code><tt><sup>[<a href="javascript:open_code('SEM')">SEM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> #include &lt;<a href="../basedefs/semaphore.h.html">semaphore.h</a>&gt;<br><br> int sem_post(sem_t *</tt><i>sem</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_633_03"></a>DESCRIPTION</h4><blockquote><p>The <i>sem_post</i>() function shall unlock the semaphore referenced by <i>sem</i> by performing a semaphore unlock operation onthat semaphore.</p><p>If the semaphore value resulting from this operation is positive, then no threads were blocked waiting for the semaphore tobecome unlocked; the semaphore value is simply incremented.</p><p>If the value of the semaphore resulting from this operation is zero, then one of the threads blocked waiting for the semaphoreshall be allowed to return successfully from its call to <a href="../functions/sem_wait.html"><i>sem_wait</i>()</a>. <sup>[<a href="javascript:open_code('PS')">PS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> &nbsp;If the ProcessScheduling option is supported, the thread to be unblocked shall be chosen in a manner appropriate to the scheduling policies andparameters in effect for the blocked threads. In the case of the schedulers SCHED_FIFO and SCHED_RR, the highest priority waitingthread shall be unblocked, and if there is more than one highest priority thread blocked waiting for the semaphore, then thehighest priority thread that has been waiting the longest shall be unblocked. If the Process Scheduling option is not defined, thechoice of a thread to unblock is unspecified. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p><p><sup>[<a href="javascript:open_code('SS')">SS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> Ifthe Process Sporadic Server option is supported, and the scheduling policy is SCHED_SPORADIC, the semantics are as per SCHED_FIFOabove. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p><p>The <i>sem_post</i>() function shall be reentrant with respect to signals and may be invoked from a signal-catchingfunction.</p></blockquote><h4><a name="tag_03_633_04"></a>RETURN VALUE</h4><blockquote><p>If successful, the <i>sem_post</i>() function shall return zero; otherwise, the function shall return -1 and set <i>errno</i> toindicate the error.</p></blockquote><h4><a name="tag_03_633_05"></a>ERRORS</h4><blockquote><p>The <i>sem_post</i>() function may fail if:</p><dl compact><dt>[EINVAL]</dt><dd>The <i>sem</i> argument does not refer to a valid semaphore.</dd></dl></blockquote><hr><div class="box"><em>The following sections are informative.</em></div><h4><a name="tag_03_633_06"></a>EXAMPLES</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_633_07"></a>APPLICATION USAGE</h4><blockquote><p>The <i>sem_post</i>() function is part of the Semaphores option and need not be available on all implementations.</p></blockquote><h4><a name="tag_03_633_08"></a>RATIONALE</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_633_09"></a>FUTURE DIRECTIONS</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_633_10"></a>SEE ALSO</h4><blockquote><p><a href="semctl.html"><i>semctl</i>()</a>, <a href="semget.html"><i>semget</i>()</a>, <a href="semop.html"><i>semop</i>()</a>, <a href="sem_timedwait.html"><i>sem_timedwait</i>()</a>, <a href="sem_trywait.html"><i>sem_trywait</i>()</a>, <a href="sem_wait.html"><i>sem_wait</i>()</a>, the Base Definitions volume of IEEE&nbsp;Std&nbsp;1003.1-2001, <a href="../basedefs/semaphore.h.html"><i>&lt;semaphore.h&gt;</i></a></p></blockquote><h4><a name="tag_03_633_11"></a>CHANGE HISTORY</h4><blockquote><p>First released in Issue 5. Included for alignment with the POSIX Realtime Extension.</p></blockquote><h4><a name="tag_03_633_12"></a>Issue 6</h4><blockquote><p>The <i>sem_post</i>() function is marked as part of the Semaphores option.</p><p>The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Semaphoresoption.</p><p>The <a href="../functions/sem_timedwait.html"><i>sem_timedwait</i>()</a> function is added to the SEE ALSO section for alignmentwith IEEE&nbsp;Std&nbsp;1003.1d-1999.</p><p>SCHED_SPORADIC is added to the list of scheduling policies for which the thread that is to be unblocked is specified foralignment with IEEE&nbsp;Std&nbsp;1003.1d-1999.</p><p>IEEE&nbsp;Std&nbsp;1003.1-2001/Cor&nbsp;2-2004, item XSH/TC2/D6/119 is applied, updating the ERRORS section so that the [EINVAL]error becomes optional.</p></blockquote><div class="box"><em>End of informative text.</em></div><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>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -