Wiki Page Content

Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2010-06-02 00:30:50
Size: 943
Editor: SheenaSmith
Comment: create page, add content (Wed Mar 10 ver; changeset 4428)
Revision 7 as of 2010-10-18 02:20:09
Size: 1758
Editor: SheenaSmith
Comment: update content - pointers, structs
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
Use this function to create a semaphore, initialized with value, returns NULL on failure.

<<Color2(g
reen,Should this description stop at semaphore and the remaining info be moved below?)>>
Use this function to create a semaphore, initialized with ^a^ value,, returns NULL on failure,, *create a new semaphore and assign an initial value to it*.
Line 21: Line 19:
Returns ^the current semaphore value for the resource^ on success, or NULL on failure; call [[SDL_GetError]]() for more information. ^Returns the semaphore or NULL if there was an error^; call [[SDL_GetError]]() for more information.

*<<BR>>Returns a pointer to an initialized semaphore or NULL if there was an error.<<BR>>*
Line 24: Line 24:
*
Line 25: Line 26:
You can add your code example here SDL_sem *my_sem;

my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE);

if (my_sem == NULL) {
        return CREATE_SEM_FAILED;
}
Line 27: Line 34:
*<<BR>><<Color2(green,Should this example be merged with the one on the SDL_!DestroySemaphore page and then used as an Include there instead?)>>
Line 29: Line 37:
''You can add useful comments here'' *<<BR>>[[SDL_CreateSemaphore]]() creates a new semaphore and initializes it with the value '''initial_value'''. Each locking operation on the semaphore by [[SDL_SemWait]](), [[SDL_SemTryWait]]() or [[SDL_SemWaitTimeout]]() 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 [[SDL_SemPost]]() will atomically increment the semaphore value. <<BR>>*
Line 32: Line 40:
 .[[SDL_DestroySemaphore]] ???  .[[SDL_DestroySemaphore]] *
 .[[SDL_SemPost]] *
 .[[SDL_SemTryWait]] *
 .[[SDL_SemValue]] *
 .[[SDL_SemWait]] *
 .[[SDL_SemWaitTimeout]]*

DRAFT

SDL_CreateSemaphore

Use this function to create a semaphore, initialized with a value returns NULL on failure *create a new semaphore and assign an initial value to it*.

Syntax

SDL_sem* SDL_CreateSemaphore(Uint32 initial_value)

Function Parameters

initial_value

the starting value for the semaphore

Return Value

Returns the semaphore or NULL if there was an error; call SDL_GetError() for more information.

*
Returns a pointer to an initialized semaphore or NULL if there was an error.
*

Code Examples

*

SDL_sem *my_sem;

my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE);

if (my_sem == NULL) {
        return CREATE_SEM_FAILED;
}

*
green

Remarks

*
SDL_CreateSemaphore() creates a new semaphore and initializes it with the value initial_value. Each locking operation on the semaphore by SDL_SemWait(), SDL_SemTryWait() or SDL_SemWaitTimeout() 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 SDL_SemPost() will atomically increment the semaphore value.
*


CategoryAPI, CategoryMutex

None: SDL_CreateSemaphore (last edited 2013-08-12 05:40:21 by Sam Lantinga)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit