Mercurial > sdl-ios-xcode
view docs/html/sdlcreatesemaphore.html @ 2947:fec0db6c44b7
Date: Thu, 01 Jan 2009 21:32:12 +0100
From: Couriersud
Subject: Fusionsound audio driver
attached is a diff containing a audio driver for the FusionSound
library. This sound library is closely related to DirectFB and uses the
same transport (fusion) as DirectFB when running applications "remote",
i.e. over the network. As such, it natively redirects sound where
DirectFB redirects video. This may be handy for everyone using SDL over
DirectFB.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 01 Jan 2009 21:34:22 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_CreateSemaphore</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><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_mutexV" HREF="sdlmutexv.html"><LINK REL="NEXT" TITLE="SDL_DestroySemaphore" HREF="sdldestroysemaphore.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation 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="sdlmutexv.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdldestroysemaphore.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLCREATESEMAPHORE" ></A >SDL_CreateSemaphore</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN7936" ></A ><H2 >Name</H2 >SDL_CreateSemaphore -- Creates a new semaphore and assigns an initial value to it.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN7939" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN7940" ></A ><P ></P ><PRE CLASS="FUNCSYNOPSISINFO" >#include "SDL.h" #include "SDL_thread.h"</PRE ><P ><CODE ><CODE CLASS="FUNCDEF" >SDL_sem *<B CLASS="FSFUNC" >SDL_CreateSemaphore</B ></CODE >(Uint32 initial_value);</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7946" ></A ><H2 >Description</H2 ><P ><TT CLASS="FUNCTION" >SDL_CreateSemaphore()</TT > creates a new semaphore and initializes it with the value <TT CLASS="PARAMETER" ><I >initial_value</I ></TT >. Each locking operation on the semaphore by <A HREF="sdlsemwait.html" >SDL_SemWait</A >, <A HREF="sdlsemtrywait.html" >SDL_SemTryWait</A > or <A HREF="sdlsemwaittimeout.html" >SDL_SemWaitTimeout</A > will atomically decrement the semaphore value. The locking operation will be blocked if the semaphore value is not positive (greater than zero). Each unlock operation by <A HREF="sdlsempost.html" >SDL_SemPost</A > will atomically increment the semaphore value.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7955" ></A ><H2 >Return Value</H2 ><P >Returns a pointer to an initialized semaphore or <SPAN CLASS="RETURNVALUE" >NULL</SPAN > if there was an error.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7959" ></A ><H2 >Examples</H2 ><P ><PRE CLASS="PROGRAMLISTING" >SDL_sem *my_sem; my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE); if (my_sem == NULL) { return CREATE_SEM_FAILED; }</PRE ></P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN7963" ></A ><H2 >See Also</H2 ><P ><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="sdlsempost.html" ><TT CLASS="FUNCTION" >SDL_SemPost</TT ></A >, <A HREF="sdlsemvalue.html" ><TT CLASS="FUNCTION" >SDL_SemValue</TT ></A ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdlmutexv.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdldestroysemaphore.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_mutexV</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="thread.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_DestroySemaphore</TD ></TR ></TABLE ></DIV ></BODY ></HTML >