[#45637] [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい — "Glass_saga (Masaki Matsushita)" <glass.saga@...>

14 messages 2012/05/16

[#45670] [ruby-trunk - Bug #6479][Open] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる — "kachick (Kenichi Kamiya)" <kachick1+ruby@...>

9 messages 2012/05/22

[ruby-dev:45640] [ruby-trunk - Bug #6441][Assigned] IO.pipe on ENFILE

From: "naruse (Yui NARUSE)" <naruse@...>
Date: 2012-05-16 03:59:06 UTC
List: ruby-dev #45640
Issue #6441 has been reported by naruse (Yui NARUSE).

----------------------------------------
Bug #6441: IO.pipe on ENFILE
https://bugs.ruby-lang.org/issues/6441

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: authorNari (Narihiro Nakamura)
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-05-16 trunk 35659) [x86_64-netbsd6.99.5]


今の Ruby は open(2) などで、errno=ENFILE が発生した場合、
すなわち fd を使いきっている場合には、rb_gc() を呼び、IO オブジェクトを GC して、
fd が解放されないか試み、それでもダメだったら諦めるとしています。

しかし、IO.pipe の場合はこれに失敗することがあります。
これは、lazy sweep が上記の目的のため T_FILE の場合は直ちに sweep することにしている所、
pipe の場合はその例外にあたらないからです。


-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next