forked from KolibriOS/kolibrios
291 lines
3.6 KiB
HTML
291 lines
3.6 KiB
HTML
|
<HTML
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>SDL_SemPost</TITLE
|
||
|
><META
|
||
|
NAME="GENERATOR"
|
||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
|
||
|
"><LINK
|
||
|
REL="HOME"
|
||
|
TITLE="SDL Library Documentation"
|
||
|
HREF="index.html"><LINK
|
||
|
REL="UP"
|
||
|
TITLE="Multi-threaded Programming"
|
||
|
HREF="thread.html"><LINK
|
||
|
REL="PREVIOUS"
|
||
|
TITLE="SDL_SemWaitTimeout"
|
||
|
HREF="sdlsemwaittimeout.html"><LINK
|
||
|
REL="NEXT"
|
||
|
TITLE="SDL_SemValue"
|
||
|
HREF="sdlsemvalue.html"></HEAD
|
||
|
><BODY
|
||
|
CLASS="REFENTRY"
|
||
|
BGCOLOR="#FFF8DC"
|
||
|
TEXT="#000000"
|
||
|
LINK="#0000ee"
|
||
|
VLINK="#551a8b"
|
||
|
ALINK="#ff0000"
|
||
|
><DIV
|
||
|
CLASS="NAVHEADER"
|
||
|
><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TH
|
||
|
COLSPAN="3"
|
||
|
ALIGN="center"
|
||
|
>SDL Library Documentation</TH
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="sdlsemwaittimeout.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="80%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="bottom"
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="sdlsemvalue.html"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"></DIV
|
||
|
><H1
|
||
|
><A
|
||
|
NAME="SDLSEMPOST"
|
||
|
>SDL_SemPost</A
|
||
|
></H1
|
||
|
><DIV
|
||
|
CLASS="REFNAMEDIV"
|
||
|
><A
|
||
|
NAME="AEN7621"
|
||
|
></A
|
||
|
><H2
|
||
|
>Name</H2
|
||
|
>SDL_SemPost -- Unlock a semaphore.</DIV
|
||
|
><DIV
|
||
|
CLASS="REFSYNOPSISDIV"
|
||
|
><A
|
||
|
NAME="AEN7624"
|
||
|
></A
|
||
|
><H2
|
||
|
>Synopsis</H2
|
||
|
><DIV
|
||
|
CLASS="FUNCSYNOPSIS"
|
||
|
><A
|
||
|
NAME="AEN7625"
|
||
|
></A
|
||
|
><P
|
||
|
></P
|
||
|
><PRE
|
||
|
CLASS="FUNCSYNOPSISINFO"
|
||
|
>#include "SDL.h"
|
||
|
#include "SDL_thread.h"</PRE
|
||
|
><P
|
||
|
><CODE
|
||
|
><CODE
|
||
|
CLASS="FUNCDEF"
|
||
|
>int <B
|
||
|
CLASS="FSFUNC"
|
||
|
>SDL_SemPost</B
|
||
|
></CODE
|
||
|
>(SDL_sem *sem);</CODE
|
||
|
></P
|
||
|
><P
|
||
|
></P
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN7631"
|
||
|
></A
|
||
|
><H2
|
||
|
>Description</H2
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_SemPost</TT
|
||
|
> unlocks the semaphore pointed to by
|
||
|
<TT
|
||
|
CLASS="PARAMETER"
|
||
|
><I
|
||
|
>sem</I
|
||
|
></TT
|
||
|
> and atomically increments the semaphores value.
|
||
|
Threads that were blocking on the semaphore may be scheduled after this call
|
||
|
succeeds.</P
|
||
|
><P
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_SemPost</TT
|
||
|
> should be called after a semaphore is locked by a successful call to
|
||
|
<A
|
||
|
HREF="sdlsemwait.html"
|
||
|
>SDL_SemWait</A
|
||
|
>,
|
||
|
<A
|
||
|
HREF="sdlsemtrywait.html"
|
||
|
>SDL_SemTryWait</A
|
||
|
> or
|
||
|
<A
|
||
|
HREF="sdlsemwaittimeout.html"
|
||
|
>SDL_SemWaitTimeout</A
|
||
|
>.</P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN7641"
|
||
|
></A
|
||
|
><H2
|
||
|
>Return Value</H2
|
||
|
><P
|
||
|
>Returns <SPAN
|
||
|
CLASS="RETURNVALUE"
|
||
|
>0</SPAN
|
||
|
> if successful or
|
||
|
<SPAN
|
||
|
CLASS="RETURNVALUE"
|
||
|
>-1</SPAN
|
||
|
> if there was an error (leaving the semaphore unchanged).</P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN7646"
|
||
|
></A
|
||
|
><H2
|
||
|
>Examples</H2
|
||
|
><P
|
||
|
><PRE
|
||
|
CLASS="PROGRAMLISTING"
|
||
|
>SDL_SemPost(my_sem);</PRE
|
||
|
></P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="REFSECT1"
|
||
|
><A
|
||
|
NAME="AEN7650"
|
||
|
></A
|
||
|
><H2
|
||
|
>See Also</H2
|
||
|
><P
|
||
|
><A
|
||
|
HREF="sdlcreatesemaphore.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_CreateSemaphore</TT
|
||
|
></A
|
||
|
>,
|
||
|
<A
|
||
|
HREF="sdldestroysemaphore.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_DestroySemaphore</TT
|
||
|
></A
|
||
|
>,
|
||
|
<A
|
||
|
HREF="sdlsemwait.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_SemWait</TT
|
||
|
></A
|
||
|
>,
|
||
|
<A
|
||
|
HREF="sdlsemtrywait.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_SemTryWait</TT
|
||
|
></A
|
||
|
>,
|
||
|
<A
|
||
|
HREF="sdlsemwaittimeout.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_SemWaitTimeout</TT
|
||
|
></A
|
||
|
>,
|
||
|
<A
|
||
|
HREF="sdlsemvalue.html"
|
||
|
><TT
|
||
|
CLASS="FUNCTION"
|
||
|
>SDL_SemValue</TT
|
||
|
></A
|
||
|
></P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="NAVFOOTER"
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="sdlsemwaittimeout.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="index.html"
|
||
|
>Home</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="sdlsemvalue.html"
|
||
|
>Next</A
|
||
|
></TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
>SDL_SemWaitTimeout</TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="thread.html"
|
||
|
>Up</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
>SDL_SemValue</TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|