マルチスレッドを使って非同期IOをエミュレーションし、どんな種類のファイルディスクリプタでも、任意のIOを非同期でできるようにするライブラリ「libpio」(Parallel I/O Libraryのつもり)を作ってみました。このコンセプトがうまくいくのかどうか、テストの段階です。 Linux AIOやPOSIX AIOはaccept()ができなかったりして、プログラム全体を一つのイベントループで実装できなくて非常に困るのですが、libpioならシングルスレッド&イベントループ1つで非同期IOサーバーを書けます。 今のところLinuxだけで動きます。 libpio-0.0.1.tar.gz ※2007/10/29追記:kqueueでも実装できました。…なぜかちゃんと動かないのですが…。使う側のコードは変更せずに、epollとkqueueを切り替えられます。 libpio-0.0.2.tar