From: matz@... (Yukihiro Matsumoto) Date: 2002-09-21T18:29:41+09:00 Subject: [ruby-dev:18326] Re: rubicon on EWS4800 まつもと ゆきひろです In message "[ruby-dev:18322] Re: rubicon on EWS4800" on 02/09/21, Koji Arai writes: |これは、EWS4800 でのstdioの挙動がそうなるようです。C で書い |ても同様になりました。man には、 | | ファイルが更新モードでオープンされると、その stream 上では入 | 力 も 出 力 も 両 方 行 うことができます。ただし、入力の後に | fflush(3S) や fseek(3S) あるいは fsetpos(3S) や rewind(3S) | を 介 在 さ せ ず に 直接出力を続けたり、出力の後に fseek や | fsetpos あるいは rewind を介在させずに直接入力を続けたり、あ | るいはエンド・オブ・ファイルを検出する入力操作なしに出力の後 | に直接入力を続けたりすることはできません。 | |っとあるので、このせいかも。仕方ないですね。 HP-UXでも同じ問題があるとレポートされてました。stdioを捨てる まではしょうがないかも。 || 100000.times { |i| Math.sin(i) ** Math.tan(i/2) } || assert_equal(saved, count) || || Thread.critical = false || 100000.times { |i| Math.sin(i) ** Math.tan(i/2) } || assert(saved != count) || end | |の回数を一桁減らしてもらえるとうれしかったりします。EWS4800 |はとっても遅いので(苦笑)。 了解。 || th->stk_ptr = 0, th->stk_len = 10261, th->stk_max = 11373 | |っとあるので、stk_ptr = 0 で、REALLOC_N() されない条件がある |ようです。 | |以下の暫定対処で落ちなくなるのまでは確認しました。 ??? REALLOC_Nはxreallocを呼んでいてxreallocはptrが0ならxmallocを 呼んでいるのですが。なんでこれで落ちなくなるんだろう。