Partilhar via


Função EventLoop_Run

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

Executa um EventLoop e distribui eventos pendentes no thread de execução do autor da chamada.

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

Parâmetros

  • el O EventLoop a executar.

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

  • process_one_event Indica se pretende interromper o ciclo após o processamento do primeiro evento. Se for falso, o ciclo continuará em execução durante a duração especificada pelo duration_in_milliseconds parâmetro ou até ser interrompido por EventLoop_Stop. Este parâmetro é ignorado se duration_in_milliseconds for zero.

Valor devolvido

Devolve um valor de EventLoop_Run_Result que indica os resultados desta chamada de função.

Observações

Uma aplicação pode chamar EventLoop_Run(el, -1, false) para passar o controlo do thread de chamada para o EventLoop.

Se a aplicação chamar EventLoop_Run(el, -1, true), o ciclo bloqueará e aguardará até que o primeiro evento esteja pronto, processará o evento e devolverá.

Uma aplicação pode chamar EventLoop_Stop para sair EventLoop_Run mais cedo.