[MacRuby] #1402: Errno::EBADF occurs when repeats reading/writing the file.
MacRuby
ruby-noreply at macosforge.org
Wed Oct 5 22:14:27 PDT 2011
#1402: Errno::EBADF occurs when repeats reading/writing the file.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Comment(by watson1978@…):
IO#sysopen creates the IO's object, and returns file descriptor from its
object. [[BR]]
When invoked GC finalizer for its object, it seems to occurs Errno::EBADF.
1. IO#sysopen creates IO's object, returns file descriptor.
2. IO.new creates IO's object from file descriptor.
3. GC finalizer run for object of IO#sysopen
- invoke rb_objc_io_finalize
- -> close file descriptor by rb_io_close
- -> same descriptor number is used by IO.new's object.
4. IO#read -> Errno::EBADF
I think that should not create an IO's object in IO#sysopen.
--
Ticket URL: <http://www.macruby.org/trac/ticket/1402#comment:1>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list