Skip to content
  • Eric Wong's avatar
    0fd53f51
    thread_sync.c (rb_mutex_t): eliminate fork_gen · 0fd53f51
    Eric Wong authored
    The true bug fork_gen was hiding was rb_mutex_abandon_locking_mutex
    failing to unconditionally clear the waitq of mutexes it was
    waiting on.  So we fix rb_mutex_abandon_locking_mutex, instead,
    and eliminate rb_mutex_cleanup_keeping_mutexes.
    
    This commit was tested heavily on a single-core Pentium-M which
    was my most reliable reproducer of the "crash.rb" script from
    [Bug #15383]
    
    [Bug #14578] [Bug #15383]
    
    Note: [Bug #15430] turned out to be an entirely different
    problem: RLIMIT_NPROC limit was hit on the CI VMs.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    0fd53f51
    thread_sync.c (rb_mutex_t): eliminate fork_gen
    Eric Wong authored
    The true bug fork_gen was hiding was rb_mutex_abandon_locking_mutex
    failing to unconditionally clear the waitq of mutexes it was
    waiting on.  So we fix rb_mutex_abandon_locking_mutex, instead,
    and eliminate rb_mutex_cleanup_keeping_mutexes.
    
    This commit was tested heavily on a single-core Pentium-M which
    was my most reliable reproducer of the "crash.rb" script from
    [Bug #15383]
    
    [Bug #14578] [Bug #15383]
    
    Note: [Bug #15430] turned out to be an entirely different
    problem: RLIMIT_NPROC limit was hit on the CI VMs.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Loading