Partilhar via


Função EventLoop_Stop

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

Impede que o EventLoop seja executado e faz com que EventLoop_Run devolva o controlo ao autor da chamada.

int EventLoop_Stop(EventLoop *el);

Parâmetros

  • el Um ponteiro para o EventLoop objeto.

Valor devolvido

Devolve 0 para êxito ou -1 para falha, caso errno em que está definido como o valor de erro.

Observações

Esta função pode ser chamada a partir de uma chamada de retorno de eventos ou de outro thread para parar o ciclo atual e regressar de EventLoop_Run.

Se for chamada a partir de uma chamada de retorno, EventLoop_Run irá parar de forma síncrona. Assim que EventLoop_Stop for devolvido, não serão processados mais eventos por EventLoop_Run. EventLoop_Run , em seguida, deixará de processar eventos e regressará ao autor da chamada.

Se for chamado a partir de outro thread, EventLoop_Run irá parar de forma assíncrona e regressar ao respetivo autor da chamada. Como resultado, EventLoop_Run pode continuar a processar alguns eventos após EventLoop_Stop as devoluções.

Um EventLoop objeto é um objeto de thread único. Uma tentativa de utilizar EventLoop a partir de vários threads em simultâneo resultará num comportamento indefinido. A única exceção é uma chamada para "EventLoop_Stop.