次の方法で共有


EventLoop_Stop関数

ヘッダー: applibs </eventloop.h #include>

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 の呼び出しです。