Mercurial > sdl-ios-xcode
view docs/html/sdlcreatesemaphore.html @ 3083:0bc41e0361d3
Date: Mon, 2 Mar 2009 16:27:42 +0200
From: "Mike Gorchak"
Subject: About QNX support in SDL 1.3
Right now I'm working on QNX SDL 1.3 drivers implementation and looks like a
lot of code must be completely reworked. But I'm ready for it :) Also I want
to add QNX Graphics Framework SDL driver, which is fullscreen graphics
framework, with support of hardware accelerated OpenGL ES implementations.
This Graphics Framework (called GF in QNX) could also use QNX Photon (window
manager GUI) as window manager.
In the attachment initial patch for QNX support in SDL 1.3
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 03 Mar 2009 04:21:51 +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 >