Project

General

Profile

« Previous | Next » 

Revision 9ab19d79

Added by nagachika (Tomoyuki Chikanaga) over 5 years ago

merge revision(s) 64476: [Backport #15084]

    thread_sync.c (rb_mutex_sleep): disable interrupt checking in ensure

    This is needed to reliably fix ConditionVariable#wait on Thread#kill
    [Bug #14999] because there is still a chance an interrupt could fire
    and prevent lock acquisition after an ensure statement.

    Arguably, rb_mutex_lock itself should be uninterruptible, but that
    already prevents bootstraptest/test_thread.rb from completing and
    probably breaks existing use cases.

    For reference, POSIX expressly forbids EINTR from pthread_mutex_lock.

    [ruby-core:88556] [Bug #14999]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@66837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e