[ruby-cvs:65264] usa:r58093 (ruby_2_2): merge revision(s) 57199, 57202, 57206, 57224: [Backport #13076]

usa at ruby-lang.org usa at ruby-lang.org
Sun Mar 26 00:47:52 JST 2017


usa	2017-03-26 00:47:52 +0900 (Sun, 26 Mar 2017)

  New Revision: 58093

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=58093

  Log:
    merge revision(s) 57199,57202,57206,57224: [Backport #13076]
    
    io.c: fix race between read and close
    
    * io.c (io_fillbuf): fix race between read and close, in the case
      the IO gets closed before the reading thread achieve the lock.
      [ruby-core:78845] [Bug #13076]
    thread.c: fix race between read and close
    
    * thread.c (rb_thread_fd_close): wait until all threads using the
      fd finish the operation, not to free the buffer in use.
      [ruby-core:78845] [Bug #13076]
    revert a part of r57199
    
    * io.c (io_fillbuf): revert a part of r57199 because it broke IO#getch.
      see also [Bug #13076]
    
    io.c: fix race between read and close
    
    * io.c (io_fillbuf): fix race between read and close and bail out
      in the case the IO gets closed before the reading thread achieve
      the lock.  [ruby-core:78845] [Bug #13076]

  Modified directories:
    branches/ruby_2_2/
  Modified files:
    branches/ruby_2_2/io.c
    branches/ruby_2_2/test/ruby/test_io.rb
    branches/ruby_2_2/thread.c
    branches/ruby_2_2/version.h


More information about the ruby-cvs mailing list