[#38563] [Bug #1556] irb does not save history from 1.8.7-p83 and later — Nobuhiro IMAI <redmine@...>
Bug #1556: irb does not save history from 1.8.7-p83 and later
けいじゅ@いしつかです.
まつもと ゆきひろです
いまいです。
けいじゅ@いしつかです.
まつもと ゆきひろです
[#38571] [Bug #1582] IO.new Raises Other Errors between 1.8 and 1.9 — "ujihisa ." <redmine@...>
Bug #1582: IO.new Raises Other Errors between 1.8 and 1.9
チケット #1582 が更新されました。 (by Motohiro KOSAKI)
なかだです。
2010年2月27日9:43 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#38602] [Feature: trunk] rb_objspace_each_objects — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
ささだです.
ささだです.
まつもと ゆきひろです
[#38607] [Feature: trunk] GC.stat — SASADA Koichi <ko1@...>
ささだです.
ささだです。
まつもと ゆきひろです
ささだです。
2010年10月15日16:32 SASADA Koichi <ko1@atdot.net>:
In article <4A349F64.5000702@atdot.net>,
ささだです.
In article <4A3612EF.1080008@atdot.net>,
[#38608] Fixnum#fdiv — Tadayoshi Funaba <tadf@...>
Bignum#fdiv には大きな数である場合の配慮があるようですが、Fixnum ではな
fdiv では2つの異る解釈が混在しているように見えます。
まつもと ゆきひろです
> えーと、設計者は「fdivは結果がfloatになるdiv」くらいしか考え
まつもと ゆきひろです
> ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意
> > ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意
まつもと ゆきひろです
> 私が気にしているのは「挙動の理解しやすさ」ですね。
まつもと ゆきひろです
> 繰り返しになりますが、「より正確な除算」とかだと独立した実装
まつもと ゆきひろです
この件を修正しようとしていますが、
[#38609] [Feature: trunk] *_memsize() — SASADA Koichi <ko1@...>
ささだです.
[#38613] [BUG: trunk] called on terminated object — SASADA Koichi <ko1@...>
ささだです.
[#38695] [feature:trunk] let irb use pretty_inspect if possible — Yusuke ENDOH <mame@...>
遠藤です。
けいじゅ@いしつかです.
遠藤です。
けいじゅ@いしつかです.
[#38701] [Bug #1676] only last "return" is traced by set_trace_func — _ wanabe <redmine@...>
Bug #1676: only last "return" is traced by set_trace_func
[ruby-dev:38648] Re: 1.9でstdin/out/errをcloseしないわけ
In article <E1MGGBZ-0005SY-Jv@x61.netlab.jp>,
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
> [ruby-core:23853]というレポートが来てて、要するに(ARGF経由
> で)STDINを明示的にcloseしてもclosed?が真にならないので1.8と
> 非互換という話なんですが、ソースを読むとfptr_finalize()中
> に
>
> if (IS_PREP_STDIO(fptr) || fptr->fd <= 2) {
> goto check_err;
> }
>
> というコードがあって、どうも意図的に0,1,2はcloseしないように
> しているみたいなんですが、真意はなんなんでしょうね。
たとえば、stderr (fd=2) を close した状態で、ソケットで通信
しようしたとして fd が 2 になり、その状態で、ログを stderr
に出力すると、ソケットにログが出力されて通信が壊れます。
ソケットでなくデータベースだとデータベースが壊れるかもしれま
せん。
プログラムは 0, 1, 2 は標準入出力として用意されていて、open
や socket で新しくつくった fd が 0, 1, 2 であるとは考えない
ものです。0, 1, 2 を close することはその仮定を壊します。
これは場合によっては、CVE-2002-0572 のようなセキュリティ問題
にもなります。まぁ、CVE-2002-0572 はプログラムの中で close
を呼ぶという話ではないので、close しないことが対処になるわけ
ではありませんが。
なお、スレッドを考えると、0, 1, 2 だったらそれを他の fd に移
すというのもレースコンディションを発生させます。
これらを考えると、0, 1, 2 は close しないというのが適切であ
ろうという判断です。
どうしても 0, 1, 2 に対して close のようなことをしたければ、
/dev/null を reopen してください。
--
[田中 哲][たなか あきら][Tanaka Akira]