event_set関数の定義

event.cに定義されている。

void event_set(struct event *ev, int fd, short events,
          void (*callback)(int, short, void *), void *arg)

第一引数:イベント構造体
第二引数:ファイルディスクリプタ(コールバック関数の第一引数に渡される)
第三引数:イベントフラグ(EV_READ、EV_PERSIST等)(どのイベントをコールバック関数に通知するかを指定する)
第四引数:コールバック関数
   第一引数:ファイルディスクリプタ
   第二引数:イベントフラグ(どのイベント通知で呼び出されたかが入る)
   第三引数:ユーザ領域
第五引数:ユーザ領域(コールバック関数の第三引数に渡される)
EV_PERSISTを設定しないと、event_dispatch()でコールバック関数が一度呼び出された時点でevent_del()が走った状態になる。すなわち、コールバック関数内部で再度コールバック関数をevent_addしておかないとevent_dispatch()でコールバック関数が呼び出されなくなる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です