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