[ruby-cvs:65229] nagachika:r58058 (ruby_2_3): merge revision(s) 57199, 57202, 57206, 57224: [Backport #13076]

nagachika at ruby-lang.org nagachika at ruby-lang.org
Wed Mar 22 23:01:07 JST 2017


nagachika	2017-03-22 23:01:06 +0900 (Wed, 22 Mar 2017)

  New Revision: 58058

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

  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_3/
  Modified files:
    branches/ruby_2_3/io.c
    branches/ruby_2_3/test/ruby/test_io.rb
    branches/ruby_2_3/thread.c
    branches/ruby_2_3/version.h


More information about the ruby-cvs mailing list