다음을 통해 공유


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 호출입니다.