地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

EPOLLETでエッジトリガーとレベルトリガー

linuxjm.osdn.jp

epoll イベント配送 (distribution) インターフェースは、 エッジトリガー (ET) としてもレベルトリガー (LT) としても動作させることができる。

と書いてあるがレベルトリガーとエッジトリガーをあまり意識して理解したことがなかったので整理も兼ねてメモ。

レベルトリガーのepollは準備ができたソケットは常にredyと情報を返す、一方でエッジトリガーは、ソケットの準備完了通知は一度のみで次の状態変化があるまで再度通知をしてこないというような仕組みになっている。エッジトリガーの利点としては通知が来たとしても書き込み準備が実は書き込む側で終わってないみたいな場合で準備完了通知を保持しておけるという点。(以下の記事ではマルチスレッド環境での話なども取り上げられていた)

ymmt.hatenablog.com

mackey-lab.hatenablog.com