[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