Compartir a través de


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 del process_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 el process_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 el duration_in_milliseconds parámetro o hasta que se interrumpa por EventLoop_Stop. Este parámetro se ignora si duration_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.