diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-15 07:24:26 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-15 07:24:26 +0000 |
commit | 0cc57ea01851dd491bd7a4fde80db2b9f0041e4b (patch) | |
tree | 78f45e7c1e3c0eeb57858f38e39f17a80bdb9c17 /vm.c | |
parent | e5b968f5719b68e81421f362085320e2d2a1c36f (diff) | |
download | ruby-0cc57ea01851dd491bd7a4fde80db2b9f0041e4b.tar.gz |
dir.c: revert r60772, r60770, and r60769
Using readdir(3) without any locking causes thread-safety
problems if directory streams get shared between threads. On
ancient platforms, readdir(3) may have thread-safety problems
even on different directory streams.
Using readdir_r(3) is not viable, either, as it's deprecated
due to name overflow problems.
So for now, rely on GVL as in previous Rubies and perhaps
consider per-"struct dir_data" mutexes for modern platforms
which allow concurrent calls to readdir(3) on different
directory streams.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
0 files changed, 0 insertions, 0 deletions