[ruby-cvs:65004] naruse:r57838 (ruby_2_4): merge revision(s) 57199, 57202, 57206, 57224: [Backport #13076]

naruse at ruby-lang.org naruse at ruby-lang.org
Sat Mar 11 22:02:02 JST 2017


naruse	2017-03-11 22:02:01 +0900 (Sat, 11 Mar 2017)

  New Revision: 57838

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

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


More information about the ruby-cvs mailing list