[#12763] NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 2001/04/04
[#12765] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/04

Yukihiro Matsumotoさんの

[#12767] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto) 2001/04/04

まつもと ゆきひろです

[#12787] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/06

Yukihiro Matsumotoさんの

[#12789] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto) 2001/04/06

まつもと ゆきひろです

[#12790] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/06

Yukihiro Matsumotoさんの

[#12792] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto) 2001/04/06

まつもと ゆきひろです

[#12838] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/10

Yukihiro Matsumotoさんの

[#12795] recursive malloc / fork deadlock / thread deadlock — "Akinori MUSHA" <knu@...>

 添付のスクリプトで、いくつかのプラットフォームで問題が発生する

43 messages 2001/04/07
[#12799] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/07

まつもと ゆきひろです

[#12801] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/08

なかだです。

[#12802] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/09

まつもと ゆきひろです

[#12822] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/09

なかだです。

[#12827] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/09

まつもと ゆきひろです

[#12836] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/10

なかだです。

[#12840] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12852] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/10

なかだです。

[#12854] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12857] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/10

なかだです。

[#12859] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12862] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/10

ごとうゆうぞうです。

[#12866] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12878] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/11

ごとうゆうぞうです。

[#12888] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/11

ごとうゆうぞうです。

[#12892] Re: recursive malloc / fork deadlock / thread deadlock — Takahiro Kambe <taca@...> 2001/04/12

完全に理解せずに書いています。

[#12895] Re: recursive malloc / fork deadlock / thread deadlock — Jun Adachi <adachi@...> 2001/04/12

安達@沖データと申します。

[#12898] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/12

ごとうゆうぞうです。

[#12830] 1.6.4 preview — "Akinori MUSHA" <knu@...>

 そろそろ FreeBSD 4.3-RELEASE 前の ports のフリーズが迫っている

23 messages 2001/04/09
[#12844] Re: 1.6.4 preview — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12921] ObjectSpace.each_object(Symbol) — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

23 messages 2001/04/13
[#12923] Re: ObjectSpace.each_object(Symbol) — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#12928] Re: ObjectSpace.each_object(Symbol) — Hisayasu Nakao <h-nakao@...> 2001/04/13

中尾@富士通です。

[#12929] Re: ObjectSpace.each_object(Symbol) — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#12934] Re: ObjectSpace.each_object(Symbol) — keiju@... (石塚圭樹) 2001/04/13

けいじゅ@日本ラショナルソフトウェアです.

[#12941] Re: ObjectSpace.each_object(Symbol) — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[ruby-dev:12862] Re: recursive malloc / fork deadlock / thread deadlock

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2001-04-10 19:50:18 UTC
List: ruby-dev #12862
ごとうゆうぞうです。

In message <986917442.094435.19719.nullmailer@ev.netlab.zetabits.com>,
 `matz@zetabits.com (Yukihiro Matsumoto)' wrote:
> FreeBSDな人はこの辺をハックしてみませんか?

添付の修正で、malloc の再入は起きなくなったみたいです。
setvbuf のない環境ってあるのかどうか知りませんが、考慮
した方がいいんでしょうか?

それと、調整の余地はあるかもしれませんが、手元の環境で
は少しスピードが落ちてしまいました。

cheshire$ time ruby -ve 'open("/dev/zero"){ |i| 1000000.times{ i.read(1) } }'
ruby 1.7.0 (2001-04-02) [i386-freebsdelf5.0]

real    0m2.626s
user    0m2.591s
sys     0m0.002s
cheshire$ time ./ruby -ve 'open("/dev/zero"){ |i| 1000000.times{ i.read(1) } }'
ruby 1.7.0 (2001-04-02) [i386-freebsdelf5.0]

real    0m2.750s
user    0m2.738s
sys     0m0.002s

--
ごとうゆうぞう

diff -u2 ruby/io.c ruby.local/io.c
--- ruby/io.c	Wed Apr 11 03:09:29 2001
+++ ruby.local/io.c	Wed Apr 11 03:43:47 2001
@@ -1380,4 +1380,6 @@
 	}
     }
+    if (setvbuf(file, NULL, _IOFBF, 0) == EOF) rb_sys_fail(fname);
+
 #ifdef __human68k__
     fmode(file, _IOTEXT);
@@ -1923,9 +1925,11 @@
     }
 
-    if (freopen(RSTRING(fname)->ptr, mode, fptr->f) == 0) {
+    if (freopen(RSTRING(fname)->ptr, mode, fptr->f) == 0 ||
+	setvbuf(fptr->f, NULL, _IOFBF, 0) == EOF){
 	rb_sys_fail(fptr->path);
     }
     if (fptr->f2) {
-	if (freopen(RSTRING(fname)->ptr, "w", fptr->f2) == 0) {
+	if (freopen(RSTRING(fname)->ptr, "w", fptr->f2) == 0 ||
+	    setvbuf(fptr->f, NULL, _IOFBF, 0) == EOF){
 	    rb_sys_fail(fptr->path);
 	}
diff -u2 ruby/ruby.c ruby.local/ruby.c
--- ruby/ruby.c	Wed Apr 11 02:59:52 2001
+++ ruby.local/ruby.c	Wed Apr 11 02:52:44 2001
@@ -734,5 +734,5 @@
 	FILE *fp = fopen(fname, "r");
 
-	if (fp == NULL) {
+	if (fp == NULL || setvbuf(fp, NULL, _IOFBF, 0) == EOF){
 	    rb_load_fail(fname);
 	}

In This Thread