Función EventLoop_Run
Encabezado: #include <applibs/eventloop.h>
Ejecuta un EventLoop y distribuye los eventos pendientes en el hilo de ejecución del autor de la llamada.
EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
bool process_one_event);
Parámetros
el
El EventLoop que se va a ejecutar.duration_in_milliseconds
El período de tiempo durante el que se ejecuta el bucle de eventos. Si es cero, el bucle procesará un evento si uno está listo y se romperá inmediatamente, independientemente del valor delprocess_one_event
parámetro. Si es mayor que cero, el bucle se ejecutará durante la duración especificada a menos que se interrumpa. Si es menor que cero, el bucle seguirá funcionando hasta que se interrumpa. Consulte la función EventLoop_Stop y elprocess_one_event
parámetro para obtener información sobre condiciones adicionales.process_one_event
Indica si se debe interrumpir el bucle después de procesar el primer evento. Si es false, el bucle seguirá ejecutándose durante la duración especificada por elduration_in_milliseconds
parámetro o hasta que se interrumpa por EventLoop_Stop. Este parámetro se ignora siduration_in_milliseconds
es cero.
Valor devuelto
Devuelve un valor de EventLoop_Run_Result que indica los resultados de esta llamada de función.
Observaciones
Una aplicación puede llamar EventLoop_Run(el, -1, false)
para pasar el control de la conversación de llamadas al EventLoop
.
Si la aplicación llama EventLoop_Run(el, -1, true)
, el bucle se bloqueará y esperará hasta que el primer evento esté listo, a continuación, procesará el evento y se devolverá.
Una aplicación puede llamar a EventLoop_Stop para salir EventLoop_Run
antes.