Compartilhar via


Função EventLoop_Run

Cabeçalho: #include <applibs/eventloop.h>

Executa um EventLoop e despacha eventos pendentes no thread de execução do chamador.

EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
                                   bool process_one_event);

Parâmetros

  • el O EventLoop a ser executado.

  • duration_in_milliseconds O tempo para executar o loop de eventos. Se zero, o loop processará um evento se um estiver pronto e quebrar imediatamente, independentemente do valor do process_one_event parâmetro. Se for maior que zero, o loop será executado pela duração especificada, a menos que seja interrompido. Se menor que zero, o loop continuará em execução até ser interrompido. Consulte a função EventLoop_Stop e o process_one_event parâmetro para obter condições adicionais.

  • process_one_event Indica se o loop será interrompido após o primeiro evento ser processado. Se for falso, o loop continuará em execução pela duração especificada pelo duration_in_milliseconds parâmetro ou até que seja interrompido por EventLoop_Stop. Esse parâmetro será ignorado se duration_in_milliseconds for zero.

Valor retornado

Retorna um valor EventLoop_Run_Result que indica os resultados dessa chamada de função.

Observações

Um aplicativo pode chamar EventLoop_Run(el, -1, false) para passar o controle do thread de chamada para o EventLoop.

Se o aplicativo chamar EventLoop_Run(el, -1, true), o loop bloqueará e aguardará até que o primeiro evento esteja pronto, ele processará o evento e retornará.

Um aplicativo pode chamar EventLoop_Stop para sair EventLoop_Run mais cedo.