Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

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(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_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.

RETURN VALUE
       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.

EXAMPLES
       res = SDL_SemTryWait(my_sem);

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

       ...

       SDL_SemPost(my_sem);

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/sdl      |
       +---------------+------------------+
       |Stability      | Volatile         |
       +---------------+------------------+
SEE ALSO
       SDL_CreateSemaphore,  SDL_DestroySemaphore,  SDL_SemWait,  SDL_SemWait-
       Timeout, SDL_SemPost, SDL_SemValue



NOTES
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source       was        downloaded        from         https://www.lib-
       sdl.org/release/SDL-1.2.15.tar.gz

       Further information about this software can be found on the open source
       community website at https://www.libsdl.org/.



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