From: "助田 雅紀" Date: 1999-05-21T17:06:22+09:00 Subject: [ruby-dev:6951] RE: socket for rubymw 助田です. In [ruby-dev:6949] socket for rubymw >小田@QNES です。 >以下のパッチでgetsockopt のエラーは解消したのですが、 >win32.c の myfdopen で作るfilepointer がどうもマズイようです。 >io.c で getc する際に EBADF (errno=8) で返ってきます。 >myfdopen を _fdopen にすると例外します。 >どちらも、SOCKET ハンドルを fd として使おうとしているのが >問題のようです。 確か,内部で,GetFileType が実行されて SOCKET は fd ではないと 判断されるため,SOCKET をfd として扱おうとすると絶対に失敗します. (_get_osfhandle だったと思います) 過去に Perl のソースを調べたときには,この判断の処理を実行しない ようにその周辺部分を自前で実装していました. 参考になると思います. 実は,Perl のソースを元に Ruby 1.1b4 ぐらいである程度動くようには したのですが,その後ほったらかしです.すいません.m(_ _)m 後,95 と NT でも違いがあって処理を変える必要がありました. 古すぎて参考にならないかも知れませんが, Ruby 1.1b4 へのパッチを直接メールしましょうか?>小田さん (古すぎるので ruby-dev には流しません.) -------------------------------------------- 助田雅紀(masaki.suketa@systemplaza.co.jp) --------------------------------------------