Provided by: allegro5-doc_5.2.6.0-1_all bug

NAME

       al_wait_cond - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro.h>

              void al_wait_cond(ALLEGRO_COND *cond, ALLEGRO_MUTEX *mutex)

DESCRIPTION

       On  entering this function, mutex must be locked by the calling thread.  The function will
       atomically release mutex and block on  cond.   The  function  will  return  when  cond  is
       “signalled”, acquiring the lock on the mutex in the process.

       Example of proper use:

              al_lock_mutex(mutex);
              while (something_not_true) {
                 al_wait_cond(cond, mutex);
              }
              do_something();
              al_unlock_mutex(mutex);

       The  mutex  should  be  locked  before  checking  the  condition,  and should be rechecked
       al_wait_cond(3alleg5) returns.  al_wait_cond(3alleg5) can return for  other  reasons  than
       the  condition  becoming  true  (e.g. the process was signalled).  If multiple threads are
       blocked on the condition variable, the condition may no longer be true  by  the  time  the
       second and later threads are unblocked.  Remember not to unlock the mutex prematurely.

SEE ALSO

       al_wait_cond_until(3alleg5), al_broadcast_cond(3alleg5), al_signal_cond(3alleg5).