From: "U.Nakamura" Date: 2003-01-10T12:24:02+09:00 Subject: [ruby-dev:19348] Re: [BUG] errno == 0 こんにちは、なかむら(う)です。 In message "[ruby-dev:19347] Re: [BUG] errno == 0" on Jan.10,2003 11:51:26, wrote: | > | | しかし、これはひょっとしてFMODE_SYNCだとseekされてないんじゃな | > | | いでしょうか。フラグを流用した無理が出たような。別のフラグを使 | > | | うべきか、それともFMODE_SYNCだったらついでにseekするか。 | > | | > | # ただ、bccの場合はW -> Rもflushじゃだめなんじゃないか疑惑が | > | # あるので、結局なんとかしないといけないのかも。 | > | # 後で確認してみます。 | > | > 予想通り、 | > ruby 1.8.0 (2003-01-09) [i386-bccwin32] | > では、FMODE_SYNCなときはW -> Rで落ちました。 | | 1.8.0だけですか? 1.6にはbccwin32はまだマージされてないので... 1.6でコンパイルを通すパッチを自分でマージして試すほどの気力 はなかったです。すみません。 で、今回のパッチですが、1.8 on bccwin32ではminirubyが発狂し ました。 D:/ruby/src/mkconfig.rb:1668: yacc stack overflow とか言われてしまったので、どうも普通にファイルを読むだけで おかしくなってるみたいです下記の 話をbccだけに限ると、下記のパッチぐらいで誤魔化せるみたいで はありますが... Index: io.c =================================================================== RCS file: /home/cvs/ruby/io.c,v retrieving revision 1.178 diff -u -1 -p -w -r1.178 io.c --- io.c 2003/01/09 08:20:32 1.178 +++ io.c 2003/01/10 03:22:19 @@ -299,2 +299,5 @@ io_fflush(f, fptr) +#ifdef __BORLANDC__ + io_seek(fptr, 0, SEEK_CUR); +#endif rb_thread_fd_writable(fileno(f)); それでは。 -- U.Nakamura