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。