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 doprocess_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 oprocess_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 peloduration_in_milliseconds
parâmetro ou até ser interrompido por EventLoop_Stop. Este parâmetro é ignorado seduration_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.