Mercurial > sdl-ios-xcode
view docs/html/sdlcreatesemaphore.html @ 2349:0381047f2210 gsoc2008_iphone
The class SDL_uikitappdelegate acts as the UIApplicationDelegate for an iPhone SDL project. This class is reponsible for application control flow, including initial setup of working directory, forwarding command line arguments to the user's main function, and handling application termination.
author | Holmes Futrell <hfutrell@umail.ucsb.edu> |
---|---|
date | Thu, 17 Jul 2008 22:29:37 +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 >