GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SDL_SemTryWait(3) SDL API Reference SDL_SemTryWait(3)

SDL_SemTryWait - Attempt to lock a semaphore but don't suspend the thread.

#include "SDL.h" #include "SDL_thread.h"

int SDL_SemTryWait(SDL_sem *sem);

SDL_SemTryWait is a non-blocking varient of SDL_SemWait. If the value of the semaphore pointed to by sem is positive it will atomically decrement the semaphore value and return 0, otherwise it will return SDL_MUTEX_TIMEOUT instead of suspending the thread.

After SDL_SemTryWait is successful, the semaphore can be released and its count atomically incremented by a successful call to SDL_SemPost.

Returns 0 if the semaphore was successfully locked or either SDL_MUTEX_TIMEOUT or -1 if the thread would have suspended or there was an error, respectivly.

If the semaphore was not successfully locked, the semaphore will be unchanged.

res = SDL_SemTryWait(my_sem);
if (res == SDL_MUTEX_TIMEOUT) {
        return TRY_AGAIN;
}
if (res == -1) {
        return WAIT_ERROR;
}
...
SDL_SemPost(my_sem);

SDL_CreateSemaphore, SDL_DestroySemaphore, SDL_SemWait, SDL_SemWaitTimeout, SDL_SemPost, SDL_SemValue
Tue 11 Sep 2001, 23:00 SDL

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.