[#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:12914] Re: recursive malloc / fork deadlock / thread deadlock

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2001-04-12 21:45:45 UTC
List: ruby-dev #12914
ごとうゆうぞうです。

えっと、make world し直してから ruby を作り直すと、差
が出なくなってしまいました。なんかフに落ちませんが、こ
の話は一旦打ち切ったほうがいいかなあと思います。
お騒がせしてしまってすみません。

In message <200104121118.f3CBIPS03481@tpegasust.lab.okidata.co.jp>,
 `Jun Adachi <adachi@tpegasust.lab.okidata.co.jp>' wrote:
> ファイル構造体の示している実体がttyの場合または文字列などを疑似的にファ
> イルに見せている場合にはBUFSIZで、実体がファイルの場合には、ファイルシ
> ステムのブロックサイズなのだろうと思います。

そうですね。ウソを書いていました(__;;

神戸さん:
> > NetBSDのsetvbuf(3)によると、
(略)
> > とあって、sizeをゼロでない値としてbufにNULLを指定することで、即座にバッ
> > ファの割り当てを受けると期待することの方が拡張だという記述があります。
> > 従って、sizeをゼロで、bufはNULLの方が移植性という面では良さそうに思え
> > ます。

わたしもそう思います。というわけで、基本はそのままでパッ
チを作り直しました。1.6 にもそのままあたると思います。
malloc の再入は、

  ruby -e 'while true; Thread.start{`ls`} end'
  ruby -e 'while true; Thread.start{open("/dev/zero"){|io| io.read(100)}}end'

のような感じで放っておけば、起きると思いますが、このパッ
チで起こらなくなると思います。

--
ごとうゆうぞう

--- io.c.orig	Fri Apr 13 04:57:38 2001
+++ io.c	Fri Apr 13 06:19:29 2001
@@ -1379,6 +1379,10 @@
 	    rb_sys_fail(fname);
 	}
     }
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun)
+    if(setvbuf(file, NULL, _IOFBF, 0) != 0)
+	rb_warn("setvbuf() can't be honered for %s.", fname);
+#endif
 #ifdef __human68k__
     fmode(file, _IOTEXT);
 #endif
@@ -1402,6 +1406,11 @@
 	    rb_sys_fail(0);
 	}
     }
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun)
+    if(setvbuf(file, NULL, _IOFBF, 0) != 0)
+	rb_warn("setvbuf() can't be honered (fd=%d).", fd);
+#endif
+
     return file;
 }
 
@@ -1925,10 +1934,19 @@
     if (freopen(RSTRING(fname)->ptr, mode, fptr->f) == 0) {
 	rb_sys_fail(fptr->path);
     }
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun)
+    if (setvbuf(fptr->f, NULL, _IOFBF, 0) != 0)
+	rb_warn("setvbuf() can't be honered for fptr->f.");
+#endif
+
     if (fptr->f2) {
 	if (freopen(RSTRING(fname)->ptr, "w", fptr->f2) == 0) {
 	    rb_sys_fail(fptr->path);
 	}
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(sun)
+	if (setvbuf(fptr->f2, NULL, _IOFBF, 0) != 0)
+	    rb_warn("setvbuf() can't be honered for fptr->f2.");
+#endif
     }
 
     return file;

In This Thread