PHP Australia Conference 2015

event_set

(PECL libevent >= 0.0.1)

event_setイベントを準備する

説明

bool event_set ( resource $event , mixed $fd , int $events , mixed $callback [, mixed $arg ] )

event_add() で使うイベントを準備します。 events で指定したイベントが発生したときに callback で指定した関数をコールするように設定します。 events は、次のフラグ EV_TIMEOUTEV_SIGNALEV_READEV_WRITE および EV_PERSIST の組み合わせとなります。

EV_SIGNAL ビットを events で設定すると、fd をシグナル番号として解釈します。

イベントを初期化したら、event_base_set() を使ってイベントをイベントベースに関連づけます。

マッチするイベントが発生したら、これらの三つの引数が callback 関数に渡されます。

fd

シグナル番号、あるいはストリームリソース。

events

イベントを表すフラグ。次のフラグ EV_TIMEOUTEV_SIGNALEV_READEV_WRITE および EV_PERSIST から構成されています。

arg

オプションのパラメータ。event_set()arg で渡されたもの。

パラメータ

event

有効なイベントリソース。

fd

有効な PHP ストリームリソース。ストリームはファイル記述子にキャスト可能でなければなりません。 そのため、フィルタしたストリームはおそらく使えないでしょう。

events

指定したイベントを表すフラグの組み合わせ。 EV_READEV_WRITE が使えます。追加のフラグ EV_PERSIST を指定すると、event_del() がコールされるまでイベントが持続します。 指定しなければ、コールバックは一度だけしか実行されません。

callback

イベントが発生したときにコールされるコールバック関数。

arg

コールバックに渡すオプションのパラメータ。

返り値

event_set() は成功した場合に TRUE、エラー時に FALSE を返します。

変更履歴

バージョン 説明
0.0.4 EV_SIGNAL をサポートするようになりました。
add a note add a note

User Contributed Notes 1 note

up
0
jille at hexon dot cx
3 years ago
If you change your event with event_set() libevent will forget which base your event belongs to. You must call event_base_set() again *before* calling event_add() on it.
To Top