From: kjana@... (YANAGAWA Kazuhisa) Date: 1999-12-06T21:28:19+09:00 Subject: [ruby-list:19197] GC and IO on SunOS-4.1.4-JLE うちの FreeBSD 3.1 では問題無いようなのですが,出先の SunOS-4.1.4-JLE でだと次のスクリプトが Errno::EBADF でおちます. for i in 1..126 f = File.open("/dev/null") f.getc end これ,1) ファイルの limit が 256 であるのに 126 で落ちてしまう 2) "w" で open して f.putc ?\000 とする分には落ちなかった 3) それどころか limit を 128 より小さくしてやると,平気な顔をして動ききってしまったと いう謎の挙動を示しています. こんなもんどうにもならなさそうな気がしますが,とりあえず報告まで. SunOS のバグですかね. # ちなみに回避するには # # for i in 1..126 # File.open("/dev/null") {|f| f.getc} # end # # のように,ファイルの close が保証されるようにすれば良い. -- 柳川和久 @ 東大阪市 . 大阪府 December 6, 1999 「なんで一本道で迷うことがある?」「人間やればなんだってできるんだ!!」