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 oEventLoop
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.