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」。