[ruby-cvs:70052] normal:r62934 (trunk): thread_sync.c: avoid reaching across stacks of dead threads

normal at ruby-lang.org normal at ruby-lang.org
Tue Mar 27 18:28:37 JST 2018


normal	2018-03-27 18:28:37 +0900 (Tue, 27 Mar 2018)

  New Revision: 62934

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

  Log:
    thread_sync.c: avoid reaching across stacks of dead threads
    
    rb_ensure is insufficient cleanup for fork and we must
    reinitialize all waitqueues in the child process.
    
    Unfortunately this increases the footprint of ConditionVariable,
    Queue and SizedQueue by 8 bytes on 32-bit (16 bytes on 64-bit).
    
    [ruby-core:86316] [Bug #14634]

  Modified files:
    trunk/test/thread/test_cv.rb
    trunk/test/thread/test_queue.rb
    trunk/thread.c
    trunk/thread_sync.c


More information about the ruby-cvs mailing list