# TokyoとTyrant(Cabinet)の間はスペース入れるのが推奨みたいです(´・д・`)
それはさておき、
とりあえず動きましたヽ( `・ω・´)ノ
    /dev/pollのサンプルが全然なかったので、Sunのページとlibeventを参考にしました。
    (sun) http://docs.sun.com/app/docs/doc/816-5177/poll-7d?l=pt_br&a=view
    (libevent) http://monkey.org/~provos/libevent/
    (libev) http://software.schmorp.de/pkg/libev.html
    今更だけどlibevも見れば良かった・・。
    簡単なechoサーバのサンプルがあると嬉しかったのですが、見つけられなかった。゚(゚´Д`゚)゚。
    とりあえず環境的なところで詰まったのは、/usr/ccs/bin/ldだと-soname指定が上手く動かない事。--with-ldとか指定してもダメだったので、とりあえず以下のページを参考にして/usr/local/bin/ldにシンボリックリンクを張りました。
    http://www.rinneza.com/junya/tech/solaris10_x86/network/samba_3.2.4.html
あとはTokyo Cabinet同様にconfigure中のstd=c99をstd=gnu99に変更。
今後やることは、
    今は最初に確保した配列を全部/dev/pollのハンドラに書き込んでいるので、これを必要な分だけ登録する。(配列[fd].xxxxって処理してるのを0,1,2,と使うように変更する。)
    でもどっちが良いのかな・・。 ゥ─σ(・´ω・`*)─ン…
    あとは↑の配列の確保をcallocで処理しているので、終了時にメモリ解放のコードを入れてあげる。
    (終了時だから解放しなくても良いものなのかな・・? ってダメだよね・・ (´・д・`))
なんでcalloc使っているかと言うと、以下のようなコードで配列の添え字を求めているからです。
  int nfiles = 32000;
  struct rlimit rl;
  if (getrlimit(RLIMIT_NOFILE, &rl) == 0 &&
      rl.rlim_cur != RLIM_INFINITY)
    nfiles = rl.rlim_cur;
    もうちょっと負荷かけたりスレッド周りの検証したらコードも公開します。
    追加したコードはfprintfのデバッグコードも含めて100行くらいでした。
追記 2009/1/25 23:00
    複数接続でIOがブロックされちゃうのと、切断時に何回もCLOSEを試みて↓のエラーが数秒出続けてしまう。その間は新規接続も受け付けてくれない・・。
    2009-01-25T23:24:24+09:00       close failed
    2009-01-25T23:24:24+09:00       connection finished
    ・・・