diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-19 22:20:22 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-19 22:20:22 +0000 |
commit | d9cb9017794a23924488266ee0b475d78fbf3bb3 (patch) | |
tree | 49baea1b3d8db79df4cf6a86bb6d89974a8fa354 /lex.c.blt | |
parent | 6056dae7f43492b6f1ad1708552e7a9c4994d9eb (diff) | |
download | ruby-d9cb9017794a23924488266ee0b475d78fbf3bb3.tar.gz |
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/trunk@64476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lex.c.blt')
0 files changed, 0 insertions, 0 deletions