BSDの日記: NetBSD におけるlibeventライブラリの統合
日記 by
BSD
BSD による Thursday June 12, @01:04AM の投稿,
イベントドリブンな人間はてんてこまい 部門より.
イベントドリブンな人間はてんてこまい 部門より.
我曰く、" Niels Provosが 関係者にあてたメールによると、 libeventライブラリをNetBSDのソースツリーへ統合することを予定しているとのことだ。 libeventは入出力のイベントやタイマー、シグナルを コールバックによって通知する仕組みを実現する。 その結果、イベント通知及び処理は抽象化され、単純なAPIとして提供されることになる。 つまり、イベント駆動型ソフトのイベントループをlibeventが置き換えるわけである。 またその処理において、libeventは自動的に最適なOSのプリミティブを選択するが、 これはNetBSDにおいてはpoll(2)やkqueue(2)となる。 libeventのコードは小さく、何年にもわたって多くの人々にイベント駆動型の ソフトを実現する際に使われてきた。 関連する情報は このリンクにあるが、 このページのスクリーンショットでkqueueとpollの性能比較を見ることができる( プログラム例もある)。 libeventで書かれたプログラムは自動的に最も速いプリミティブを使用するように出来ている。 一般にシグナルハンドラーは少数の安全な関数のみしか呼び出せないことが多い。 しかしlibeventの場合、シグナルのコールバックによってプログラムはシグナル ハンドラーの信頼性や安全性を心配することなく、全てのlibcの関数を呼び出す ことができるのである。 このような定型的なコードパターンを書きやすくしてくれるライブラリ が充実するのは嬉しいことだと思う。"
NetBSD におけるlibeventライブラリの統合 More ログイン