[ruby-cvs:71798] normal:r64706 (trunk): fiber: fix crash on GC after forking

normal at ruby-lang.org normal at ruby-lang.org
Thu Sep 13 05:49:24 JST 2018


normal	2018-09-13 05:49:24 +0900 (Thu, 13 Sep 2018)

  New Revision: 64706

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

  Log:
    fiber: fix crash on GC after forking
    
    Remove the remainder of ROOT_FIBER_CONTEXT use and unnecessary
    differences between the root and non-root fiber.  This makes
    it easier to follow new root fiber at fork time.
    
    Multiple sources of truth often leads to bugs, as in this case.
    We can determinte root fiber by checking a fiber against the root_fiber
    of its owner thread.  The new `fiber_is_root_p' function
    supports that.
    
    Now, we can care only about free-ing/recycling/munmap-ing stacks
    as appropriate.
    
    [Bug #15050]

  Modified files:
    trunk/cont.c
    trunk/test/ruby/test_fiber.rb


More information about the ruby-cvs mailing list