Funzione EventLoop_Run
Intestazione: #include <applicazioni/eventloop.h>
Esegue un EventoLoop e invia gli eventi in sospeso nel thread di esecuzione del chiamante.
EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
bool process_one_event);
Parametri
el
Oggetto EventLoop da eseguire.duration_in_milliseconds
Periodo di tempo per l'esecuzione del ciclo di eventi. Se zero, il ciclo elabora un evento se uno è pronto e si interrompe immediatamente, indipendentemente dal valore delprocess_one_event
parametro. Se maggiore di zero, il ciclo verrà eseguito per la durata specificata, a meno che non venga interrotto. Se minore di zero, il ciclo continuerà a funzionare fino a quando non viene interrotto. Vedere la funzione EventLoop_Stop e ilprocess_one_event
parametro per altre condizioni.process_one_event
Indica se interrompere il ciclo dopo l'elaborazione del primo evento. Se false, il ciclo continuerà a essere eseguito per la durata specificata dalduration_in_milliseconds
parametro o finché non viene interrotto da EventLoop_Stop. Questo parametro viene ignorato seduration_in_milliseconds
è zero.
Valore restituito
Restituisce un EventLoop_Run_Result valore che indica i risultati di questa chiamata di funzione.
Osservazioni
Un'applicazione può chiamare EventLoop_Run(el, -1, false)
per passare il controllo del thread chiamante al EventLoop
.
Se l'applicazione chiama EventLoop_Run(el, -1, true)
, il ciclo si blocca e attende fino a quando il primo evento è pronto, quindi elabora l'evento e restituisce.
Un'applicazione può chiamare EventLoop_Stop uscire EventLoop_Run
in precedenza.