Allegro 5 api
#include <allegro5/allegro.h> bool al_wait_for_event_timed(ALLEGRO_EVENT_QUEUE *queue, ALLEGRO_EVENT *ret_event, float secs)
Wait until the event queue specified is non-empty. If ret_event is not NULL, the first event in the queue will be copied into ret_event and removed from the queue. If ret_event is NULL the first event is left at the head of the queue.
timeout_msecs determines approximately how many seconds to wait. If the call times out, false is returned. Otherwise true is returned.
ALLEGRO_EVENT(3alleg5), al_wait_for_event(3alleg5), al_wait_for_event_until(3alleg5)