Бөлісу құралы:


Функция 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.