Compartilhar via


Função EventLoop_Stop

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

Impede a execução do EventLoop e faz com que EventLoop_Run retorne o controle ao chamador.

int EventLoop_Stop(EventLoop *el);

Parâmetros

  • el Um ponteiro para o EventLoop objeto.

Valor retornado

Retorna 0 para êxito ou -1 para falha, nesse caso errno é definido como o valor do erro.

Observações

Essa função pode ser chamada de um retorno de chamada de evento ou de outro thread para parar o loop atual e retornar de EventLoop_Run.

Se chamado de um retorno de chamada, EventLoop_Run interromperá de forma síncrona. Depois que EventLoop_Stop retornar, nenhum evento adicional será processado por EventLoop_Run. EventLoop_Run interromperá o processamento de eventos e retornará ao chamador.

Se chamado de outro thread, EventLoop_Run ele será interrompido de forma assíncrona e retornará ao chamador. Como resultado, EventLoop_Run ainda pode processar alguns eventos após EventLoop_Stop o retorno.

Um EventLoop objeto é um objeto de thread único. Uma tentativa de usar EventLoop de vários threads simultaneamente resultará em um comportamento indefinido. A única exceção é uma chamada para 'EventLoop_Stop.