From: nobu.nakada@... Date: 2004-06-22T10:59:24+09:00 Subject: [ruby-dev:23742] unopened fd for IO.new なかだです。 無効なファイルディスクリプタをIO.newやIO.for_fdに渡すとEINVALが 発生しますが、EBADFのほうがよくないでしょうか。 $ ruby -v -e 'IO.new(10)' ruby 1.9.0 (2004-06-19) [i686-linux] -e:1:in `initialize': Invalid argument (Errno::EINVAL) from -e:1:in `new' from -e:1 Index: io.c =================================================================== RCS file: /pub/cvs/ruby/src/ruby/io.c,v retrieving revision 1.279 diff -u -2 -p -r1.279 io.c --- io.c 4 Jun 2004 09:54:15 -0000 1.279 +++ io.c 21 Jun 2004 04:00:45 -0000 @@ -3852,4 +3852,5 @@ rb_io_initialize(argc, argv, io) #if defined(HAVE_FCNTL) && defined(F_GETFL) flags = fcntl(fd, F_GETFL); + if (flags == -1) rb_sys_fail(0); #else flags = O_RDONLY; -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦