diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-05-24 18:59:24 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-05-24 18:59:24 +0000 |
commit | 1c29b22391642ab2c4be7c8b665132341fbd31b6 (patch) | |
tree | c522aacfb0af72b12dffe5503027f6b03eac19d0 /vsnprintf.c | |
parent | 6d600b1d7500a070be0885dbb67ac77289e2c6e6 (diff) | |
download | ruby-1c29b22391642ab2c4be7c8b665132341fbd31b6.tar.gz |
thread_pthread: retry timer thread creation w/o attr on EINVAL
Setting a small stack size can fail due to having 3rd-party
libraries (e.g. libkqueue) loaded, if those libraries use
thread-local-storage (__thread) heavily. This causes
pthread_create to fail with small stacks; even if our
timer_thread function does not hit any of the TLS-using code
paths.
Today, some RubyGems are capable of using libkqueue (or __thread
storage directly), and future versions of Ruby may use kqueue
internally.
cf. https://www.akkadia.org/drepper/tls.pdf
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vsnprintf.c')
0 files changed, 0 insertions, 0 deletions