[#12715] [BUG] Process::Status — Koji Arai <JCA02266@...>
新井です。
新井です。
新井です。
まつもと ゆきひろです
まつもと ゆきひろです
新井です。
[#12753] Named Array Ref — " たけ (tk)" <ggb03124@...>
名前付きに配列参照というのは出来ませんでしょうか?。
[#12763] NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
Yukihiro Matsumotoさんの
まつもと ゆきひろです
Yukihiro Matsumotoさんの
まつもと ゆきひろです
Yukihiro Matsumotoさんの
まつもと ゆきひろです
Yukihiro Matsumotoさんの
まつもと ゆきひろです
あおきです。
前田です。
まつもと ゆきひろです
[#12766] String#scan — IWAMURO Motonori <iwa@...>
岩室です。
[#12776] rb_obj_is_instance_of — "K.Kosako" <kosako@...>
nilにinstance_of?を行った結果が、
[#12795] recursive malloc / fork deadlock / thread deadlock — "Akinori MUSHA" <knu@...>
添付のスクリプトで、いくつかのプラットフォームで問題が発生する
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
ごとうゆうぞうです。
まつもと ゆきひろです
ごとうゆうぞうです。
ごとうゆうぞうです。
完全に理解せずに書いています。
安達@沖データと申します。
ごとうゆうぞうです。
In message <20010412151116K.gotoyuzo@does.notwork.org>
安達@沖データです。
ごとうゆうぞうです。
ごとうゆうぞうです。
At Mon, 16 Apr 2001 02:07:52 +0900,
In <867l0w29np.wl@archon.local.idaemons.org>
まつもと ゆきひろです
わたなべです。
新井です。
なかだです。
[#12803] File::Stat.new — Shugo Maeda <shugo@...>
前田です。
[#12810] comflict xmalloc ruby1.6.3 and readline on MacOS X — "SHIROYAMA Takayuki -" <psi@...>
[#12814] Tempfile — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#12830] 1.6.4 preview — "Akinori MUSHA" <knu@...>
そろそろ FreeBSD 4.3-RELEASE 前の ports のフリーズが迫っている
まつもと ゆきひろです
もりきゅうです。
[#12853] jcode.rb and user defined charachter — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
[#12882] File::stat.size — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#12885] cvs acount [Re: new irb version 0.7.1-beta] — keiju@... (石塚圭樹)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#12887] parse error in rt/rtparser.rb — Kazuhiro NISHIYAMA <zn@...>
直接 ./filter/rt.rb を実行したときは大丈夫なのに、
[#12921] ObjectSpace.each_object(Symbol) — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
中尾@富士通です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#12936] finalizer で print されない — Kazuhiro NISHIYAMA <zn@...>
何故か proc に || をつけていると print されません。
In <20010413221154.5B81.ZN@mbf.nifty.com>
まつもと ゆきひろです
In <987175210.094330.13000.nullmailer@ev.netlab.zetabits.com>
[#12946] ruby 1.6.4 cannot build on emx — HGF01572@...
長沢です。
[#12949] case-insensitive String comparison — nobu.nakada@...
なかだです。
まつもと ゆきひろです
[#12993] regex.c emits a false error? — "Akinori MUSHA" <knu@...>
1.6.4 preview2 で、 /[\da-f]/ が
[#13014] rubicon failed with ruby1.6.4-preview2 on alpha — akira yamada / やまだあきら <akira@...>
[#13017] pack template "P" — nobu.nakada@...
なかだです。
[#13021] Re: [rubyist:0523] Re:Re:finalizer での例外 — Koji Arai <JCA02266@...>
新井です。
[#13025] enhancing dir_config() — "Akinori MUSHA" <knu@...>
dir_config() をちょっと改良してみました。
[#13053] [bug?] CGI::Session::MemoryStore (ruby-1.6.x, ruby-1.7.x) — akira yamada / やまだあきら <akira@...>
[#13055] Config::MAKEFILE_CONFIG — nobu.nakada@...
なかだです。
[#13057] Re: [bug?] cgi/session.rb (ruby-1.6.x, ruby-1.7.x) (PR#44) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#13071] irb-0.7.3 & irb-tools-0.7.1 imported and merged — "Akinori MUSHA" <knu@...>
irb-0.7.3 と irb-tools-0.7.1 をインポートし、 HEAD と ruby_1_6 に
けいじゅ@日本ラショナルソフトウェアです.
At Fri, 4 May 2001 04:07:44 +0900,
[ruby-dev:13021] Re: [rubyist:0523] Re:Re:finalizer での例外
新井です。
rubyist から移動
In message "[rubyist:0523] Re:Re:finalizerでの例外"
on 21 Apr 2001 16:10:10 +0900,
Koji Arai <JCA02266@nifty.ne.jp> wrote:
> 新井です。
> > ですよね。finalizerとして与えたブロックから参照できるローカ
> > ル変数objに登録対象のオブジェクトが格納されているので、
> > finalizersからobjへの参照が発生し、結果としてobjがgcで回収さ
> > れなくなるんです。やはりfinalizersは使い方が難しいですね。
>
> なるほど、言われてみれば単純な話でした(でもやっぱり難しい)。
一応、Proc が持つ frame が self を保持しているからファイナラ
イザが呼ばれないという認識も正しいようですね。
> ちゃんと調べてないのですがこの Bar でも終了時は、finalizer が
> 呼ばれるのはなんでだろう?
調べたところ、逆でした。GC されなくても終了時には必ずファイ
ナライザは呼ばれるのですね。
Baz で 終了時にファイナライザが呼ばれないように見えるのは
gc.c rb_gc_call_finalizer_at_exit()
1249 for (i = 0; i < heaps_used; i++) {
1250 p = heaps[i]; pend = p + HEAP_SLOTS;
1251 while (p < pend) {
1252 if (FL_TEST(p, FL_FINALIZE)) {
1253 FL_UNSET(p, FL_FINALIZE);
1254 p->as.basic.klass = 0;
1255 run_final((VALUE)p);
1256 }
1257 p++;
1258 }
の 1254行 で klass を消しているため
eva.c:rb_call()
4450 if (!klass) {
4451 rb_raise(rb_eNotImpError, "method call on terminated object");
4452 }
で引っかかってるようです。これは意図したものなのなのでしょうか?
1.6.2 ではオッケーなので、
$ cvs diff -p -rv1_6_2 gc.c
| --- gc.c 2000/12/22 03:21:56 1.48
| +++ gc.c 2001/04/19 09:16:07 1.48.2.13
| @@ -1044,6 +1063,7 @@ os_live_obj()
| case T_CLASS:
| if (FL_TEST(p, FL_SINGLETON)) continue;
| default:
| + if (!p->as.basic.klass) continue;
| rb_yield((VALUE)p);
| n++;
|
このあたりの副作用なのかなと想像するのですが。はずしてたらご
めんなさい。
class Baz
def initialize
ObjectSpace.define_finalizer(self) {
puts "baz"
}
end
end
class Bar
def Bar.final(obj)
ObjectSpace.define_finalizer(obj) {
puts "bar"
}
end
def initialize
Bar.final(self)
end
end
Bar.new
Baz.new
GC.start
# ruby -d で実行
# ruby 1.6.4 (2001-04-19) [i586-linux]
# ruby 1.7.0 (2001-04-02) [i586-linux]
# => Exception `NotImplementedError' at -:4 - method call on terminated object
# bar
# ruby 1.6.2 (2000-12-25) [i586-linux]
# => baz
# bar
--
新井康司 (Koji Arai)