[#24210] [SEGV] redefine Struct with same name — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。Struct を同じ名前で二度定義すると、
6 messages
2004/09/03
[#24213] 1.instance_eval "@@a" dumps core — Tanaka Akira <akr@...17n.org>
次のように、1.instance_eval "@@a" とすると core を吐きます。
10 messages
2004/09/03
[#24217] Re: 1.instance_eval "@@a" dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/03
まつもと ゆきひろです
[#24218] Re: 1.instance_eval "@@a" dumps core
— Tanaka Akira <akr@...17n.org>
2004/09/04
In article <1094229200.559688.22218.nullmailer@picachu.netlab.jp>,
[#24219] Re: 1.instance_eval "@@a" dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/05
まつもと ゆきひろです
[#24220] Re: 1.instance_eval "@@a" dumps core
— Tanaka Akira <akr@...17n.org>
2004/09/05
In article <1094342919.363209.2395.nullmailer@picachu.netlab.jp>,
[#24221] Re: 1.instance_eval "@@a" dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/05
まつもと ゆきひろです
[#24231] system("") — Tanaka Akira <akr@...17n.org>
次のように、system("") が例外になるのは意図された挙動でしょうか?
6 messages
2004/09/06
[#24234] 要素代入での?!の扱いについて — Nowake <nowake@...>
野分です。
6 messages
2004/09/06
[#24255] ripper committed — Minero Aoki <aamine@...>
青木です。
11 messages
2004/09/12
[#24261] Array#collect! dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
7 messages
2004/09/14
[#24277] new NKF2拡張ライブラリ — "Kenichi.Tamura" <sgs02516@...>
たむらです。
5 messages
2004/09/16
[#24287] Array#sort! with calcc dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
6 messages
2004/09/19
[#24288] Re: Array#sort! with calcc dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/19
まつもと ゆきひろです
[#24302] Procのブロック呼び出しメソッド名を自由に設定 — Nowake <nowake@...>
こんばんは、野分です。
8 messages
2004/09/21
[#24304] Re: Procのブロック呼び出しメソッド名を自由に設定
— Yukihiro Matsumoto <matz@...>
2004/09/22
まつもと ゆきひろです
[#24311] Array#sort! dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
5 messages
2004/09/22
[#24315] String#sub! dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
5 messages
2004/09/23
[#24332] Marshal.dump dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
4 messages
2004/09/24
[#24337] Re: [ruby-cvs] ruby: * hash.c: iterator functions for hash_foreach() should return enum — nobu@...
なかだです。
4 messages
2004/09/24
[#24341] Array#* dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
9 messages
2004/09/25
[#24351] Re: Array#* dumps core
— nobu@...
2004/09/27
なかだです。
[#24354] finalizer
— Tanaka Akira <akr@...17n.org>
2004/09/27
In article <200409270225.i8R2PDfs014206@sharui.nakada.niregi.kanuma.tochigi.jp>,
[#24368] Enumerable#sort_by dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
4 messages
2004/09/28
[ruby-dev:24362] Re: finalizer
From:
nobu@...
Date:
2004-09-27 08:29:19 UTC
List:
ruby-dev #24362
なかだです。
At Mon, 27 Sep 2004 15:06:32 +0900,
Tanaka Akira wrote in [ruby-dev:24361]:
> > なるほど。全ノードごとにコストが増えるのは避けたいので、stack
> > checkと同じタイミングに入れてみました。
>
> えぇと、試してませんが、組み込みライブラリ等から明示的に rb_gc を呼び
> 出すときには、finalizer の実行による資源の開放を期待している - 具体的
> にいえば file descriptor の開放を期待している - ようなので、rb_gc とい
> う関数自体は finalizer を実行したほうがいいかも。
finalizerを実行しないのは、rb_{newobj,xmalloc,xrealloc}のみ?
--- gc.c~ 2004-09-27 13:30:24.000000000 +0900
+++ gc.c 2004-09-27 15:43:05.000000000 +0900
@@ -93,4 +93,5 @@ static unsigned long malloc_limit = GC_M
static void run_final();
static VALUE nomem_error;
+static void gc_internal();
void
@@ -120,9 +121,9 @@ ruby_xmalloc(size)
if (malloc_increase > malloc_limit) {
- rb_gc();
+ gc_internal();
}
RUBY_CRITICAL(mem = malloc(size));
if (!mem) {
- rb_gc();
+ gc_internal();
RUBY_CRITICAL(mem = malloc(size));
if (!mem) {
@@ -161,5 +162,5 @@ ruby_xrealloc(ptr, size)
RUBY_CRITICAL(mem = realloc(ptr, size));
if (!mem) {
- rb_gc();
+ gc_internal();
RUBY_CRITICAL(mem = realloc(ptr, size));
if (!mem) {
@@ -386,5 +387,5 @@ rb_newobj()
VALUE obj;
- if (!freelist) rb_gc();
+ if (!freelist) gc_internal();
obj = (VALUE)freelist;
@@ -1301,6 +1302,6 @@ int rb_setjmp (rb_jmp_buf);
#endif /* __GNUC__ */
-void
-rb_gc()
+static void
+gc_internal()
{
struct gc_list *list;
@@ -1419,4 +1420,11 @@ rb_gc()
}
+void
+rb_gc()
+{
+ gc_internal();
+ rb_gc_finalize_deferred();
+}
+
/*
* call-seq:
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦