Функция EventLoop_Stop
Заголовок: #include <applibs/eventloop.h>
Останавливает выполнение EventLoop и приводит к тому, что EventLoop_Run возвращает управление вызывающей объекту.
int EventLoop_Stop(EventLoop *el);
Параметры
-
el
Указатель наEventLoop
объект .
Возвращаемое значение
Возвращает значение 0 для успешного выполнения или -1 для сбоя. В этом случае errno
задается значение ошибки.
Замечания
Эту функцию можно вызвать из обратного вызова события или другого потока для остановки текущего цикла и возврата из EventLoop_Run
.
При вызове из обратного вызова EventLoop_Run остановится синхронно. После возврата EventLoop_Stopдальнейшие события не будут обрабатываться EventLoop_Run. EventLoop_Run остановит обработку событий и вернется к вызывающей.
При вызове из другого потока EventLoop_Run
асинхронно останавливается и вернется к вызывающей объекту. В результате EventLoop_Run
может по-прежнему обрабатывать несколько событий после EventLoop_Stop
возврата.
Объект EventLoop
является однопоточным объектом. Попытка одновременного использования EventLoop
нескольких потоков приведет к неопределенному поведению. Единственным исключением является вызов EventLoop_Stop.