Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SDL_SemTryWait(3)		SDL API Reference	       SDL_SemTryWait(3)

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

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

     int SDL_SemTryWait(SDL_sem *sem);

DESCRIPTION
     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_TIME-
     OUT 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.

RETURN VALUE
     Returns  0  if  the  semaphore  was  successfully	locked or either SDL_MU-
     TEX_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  un-
     changed.

EXAMPLES
     res = SDL_SemTryWait(my_sem);

     if (res == SDL_MUTEX_TIMEOUT) {
	     return TRY_AGAIN;
     }
     if (res == -1) {
	     return WAIT_ERROR;
     }

     ...

     SDL_SemPost(my_sem);

SEE ALSO
     SDL_CreateSemaphore, SDL_DestroySemaphore, SDL_SemWait, SDL_SemWaitTimeout,
     SDL_SemPost, SDL_SemValue

SDL			     Tue 11 Sep 2001, 23:00	       SDL_SemTryWait(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SDL_SemTryWait&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help