Provided by: allegro5-doc_5.2.9.1+dfsg-2_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 re‐
       lease 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).

Allegro reference manual                                                                   al_wait_cond(3alleg5)