summaryrefslogtreecommitdiff
path: root/manual
diff options
context:
space:
mode:
authorrpj <rpj>2005-05-13 14:21:09 +0000
committerrpj <rpj>2005-05-13 14:21:09 +0000
commit08e2916eb07fb75b2907032e2418316bf980d945 (patch)
tree061b085a0ae95300dc9419e46aff6e45f682164b /manual
parentd77a29543cf987e3cab6359bcd4f93459c30447e (diff)
''
Diffstat (limited to 'manual')
-rw-r--r--manual/sem_init.html58
1 files changed, 28 insertions, 30 deletions
diff --git a/manual/sem_init.html b/manual/sem_init.html
index 5509859..80e0580 100644
--- a/manual/sem_init.html
+++ b/manual/sem_init.html
@@ -5,7 +5,7 @@
<TITLE>SEMAPHORES(3) manual page</TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.3 (Linux)">
<META NAME="CREATED" CONTENT="20050505;14061900">
- <META NAME="CHANGED" CONTENT="20050505;16344500">
+ <META NAME="CHANGED" CONTENT="20050514;195200">
<!-- manual page source format generated by PolyglotMan v3.2, -->
<!-- available at http://polyglotman.sourceforge.net/ -->
</HEAD>
@@ -25,15 +25,15 @@ unsigned int </B><I>value</I><B>);</B>
</P>
<P><B>int sem_wait(sem_t * </B><I>sem</I><B>);</B>
</P>
-<P><B>int sem_timedwait(sem_t * </B><I>sem</I><SPAN STYLE="font-style: normal">,
-<B>const struct timespec *</B></SPAN><I>abstime</I><B>);</B>
+<P><B>int sem_timedwait(sem_t * </B><I>sem</I>, <B>const struct
+timespec *</B><I>abstime</I><B>);</B>
</P>
<P><B>int sem_trywait(sem_t * </B><I>sem</I><B>);</B>
</P>
<P><B>int sem_post(sem_t * </B><I>sem</I><B>);</B>
</P>
-<P><B>int sem_post_multiple(sem_t * </B><I>sem, </I><SPAN STYLE="font-style: normal"><B>int</B>
-</SPAN><I>number</I><B>);</B>
+<P><B>int sem_post_multiple(sem_t * </B><I>sem, </I><B>int</B>
+<I>number</I><B>);</B>
</P>
<P><B>int sem_getvalue(sem_t * </B><I>sem</I><B>, int * </B><I>sval</I><B>);</B>
</P>
@@ -56,8 +56,8 @@ if <I>pshared</I> is not zero.
</P>
<P><B>sem_wait</B> atomically decrements <I>sem</I>'s count if it is
greater than 0 and returns immediately or it suspends the calling
-thread until it can resume following a call to <B>sem_post</B><SPAN STYLE="font-weight: medium">
-or </SPAN><B>sem_post_multiple</B>.</P>
+thread until it can resume following a call to <B>sem_post</B> or
+<B>sem_post_multiple</B>.</P>
<P><B>sem_timedwait</B> atomically decrements <I>sem</I>'s count if
it is greater than 0 and returns immediately, or it suspends the
calling thread. If <I>abstime</I> time arrives before the thread can
@@ -65,31 +65,29 @@ resume following a call to <B>sem_post</B> or <B>sem_post_multiple</B>,
then <B>sem_timedwait</B> returns with a return code of -1 after
having set <B>errno</B> to <B>ETIMEDOUT</B>. If the call can return
without suspending then <I>abstime</I> is not checked.</P>
-<P><B>sem_trywait</B><SPAN STYLE="font-weight: medium"> atomically
-decrements <I>sem</I>'s count if it is greater than 0 and returns
-immediately, or it returns immediately with a return code of -1 after
-having set <B>errno</B> to <B>EAGAIN</B></SPAN>. <B>sem_trywait</B><SPAN STYLE="font-weight: medium">
-never blocks.</SPAN></P>
+<P><B>sem_trywait</B> atomically decrements <I>sem</I>'s count if it
+is greater than 0 and returns immediately, or it returns immediately
+with a return code of -1 after having set <B>errno</B> to <B>EAGAIN</B>.
+<B>sem_trywait</B> never blocks.</P>
<P><B>sem_post</B> either releases one thread if there are any
waiting on <I>sem</I>, or it atomically increments <I>sem</I>'s
count.</P>
<P><B>sem_post_multiple</B> either releases multiple threads if there
-are any waiting on <I>sem</I><SPAN STYLE="font-style: normal"> and/or
-it </SPAN>atomically increases <I>sem</I>'s count. If there are
-currently <I>n</I> waiters, where <I>n</I> the largest number less
-than or equal to <I>number</I>, then <I>n</I> waiters are released
-and <I>sem</I>'s count is incremented by <I>number</I> minus <I>n</I>.</P>
+are any waiting on <I>sem</I> and/or it atomically increases <I>sem</I>'s
+count. If there are currently <I>n</I> waiters, where <I>n</I> the
+largest number less than or equal to <I>number</I>, then <I>n</I>
+waiters are released and <I>sem</I>'s count is incremented by <I>number</I>
+minus <I>n</I>.</P>
<P><B>sem_getvalue</B> stores in the location pointed to by <I>sval</I>
the current count of the semaphore <I>sem</I>. In the <B>Pthreads-w32</B>
implementation: if the value returned in <I>sval</I> is greater than
or equal to 0 it was the <I>sem</I>'s count at some point during the
-call to <B>sem_getvalue</B>. <SPAN STYLE="font-weight: medium">If the
-value returned in <I>sval</I> is less than 0 then it's absolute value
-represents the number of threads waiting on <I>sem</I> at some point
-during the call to </SPAN><B>sem_getvalue. </B><SPAN STYLE="font-weight: medium">POSIX
-does not require an implementation of </SPAN><B>sem_getvalue</B><SPAN STYLE="font-weight: medium">
+call to <B>sem_getvalue</B>. If the value returned in <I>sval</I> is
+less than 0 then it's absolute value represents the number of threads
+waiting on <I>sem</I> at some point during the call to <B>sem_getvalue.
+</B>POSIX does not require an implementation of <B>sem_getvalue</B>
to return a value in <I>sval</I> that is less than 0, but if it does
-then it's absolute value must represent the number of waiters.</SPAN></P>
+then it's absolute value must represent the number of waiters.</P>
<P><B>sem_destroy</B> destroys a semaphore object, freeing the
resources it might hold. No threads should be waiting on the
semaphore at the time <B>sem_destroy</B> is called.</P>
@@ -110,12 +108,12 @@ codes on error:
<DL>
<DT STYLE="margin-right: 1cm; margin-bottom: 0.5cm"><B>EINVAL</B>
</DT><DD STYLE="margin-right: 1cm; margin-bottom: 0.5cm">
- <I>value</I> exceeds the maximal counter value <B>_POSIX_SEM_VALUE_MAX</B>
+ <I>value</I> exceeds the maximal counter value <B>SEM_VALUE_MAX</B>
</DD><DT STYLE="margin-right: 1cm; margin-bottom: 0.5cm">
<B>ENOSYS</B>
</DT></DL>
</DL>
-<BLOCKQUOTE STYLE="margin-left: 2cm">
+<BLOCKQUOTE STYLE="margin-left: 3cm">
<I>pshared</I> is not zero
</BLOCKQUOTE>
<P>The <B>sem_timedwait</B> function sets <B>errno</B> to the
@@ -126,7 +124,7 @@ following error code on error:
<DT STYLE="margin-right: 1cm; margin-bottom: 0.5cm"><B>ETIMEDOUT</B>
</DT></DL>
</DL>
-<BLOCKQUOTE STYLE="margin-left: 2cm">
+<BLOCKQUOTE STYLE="margin-left: 3cm">
if <I>abstime</I> arrives before the waiting thread can resume
following a call to <B>sem_post</B> or <B>sem_post_multiple</B>.
</BLOCKQUOTE>
@@ -138,7 +136,7 @@ error code on error:
<DT STYLE="margin-right: 1cm; margin-bottom: 0.5cm"><B>EAGAIN</B>
</DT></DL>
</DL>
-<BLOCKQUOTE STYLE="margin-left: 2cm">
+<BLOCKQUOTE STYLE="margin-left: 3cm">
if the semaphore count is currently 0
</BLOCKQUOTE>
<P>The <B>sem_post</B> and <B>sem_post_multiple</B> functions set
@@ -149,8 +147,8 @@ if the semaphore count is currently 0
<DT STYLE="margin-right: 1cm; margin-bottom: 0.5cm"><B>ERANGE</B>
</DT><DD STYLE="margin-right: 1cm; margin-bottom: 0.5cm">
if after incrementing, the semaphore count would exceed
- <B>_POSIX_SEM_VALUE_MAX</B> (the semaphore count is left unchanged
- in this case)
+ <B>SEM_VALUE_MAX</B> (the semaphore count is left unchanged in this
+ case)
</DD></DL>
</DL>
<P>
@@ -199,4 +197,4 @@ error code on error:
</P>
</UL>
</BODY>
-</HTML>
+</HTML> \ No newline at end of file