summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-18 02:01:49 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-18 02:01:49 +0000
commit8840b033fbf5f33923adbb7a1c38177f56bbe0b2 (patch)
treed274f659a07be57ad6af316e1b00020a3dcc9f1d /misc
parent089eb0c5cedaa405efe024a4cf5e58faf2bc4a78 (diff)
dir.c: openat calls release GVL, too
openat(2) also performs a path lookup, so it is also subject to pathological slowdowns like opendir(3) and open(2) syscalls. * dir.c (struct opendir_at_arg): new struct for callback (with_gvl_gc_for_fd): new callback for rb_thread_call_with_gvl (gc_for_fd_with_gvl): moved up (nogvl_opendir_at): extracted from do_opendir (opendir_at): new wrapper to release GVL for opendir_at (do_opendir): use new wrappers to release GVL (nogvl_dir_empty_p): adjust for gc_for_fd_with_gvl git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'misc')
0 files changed, 0 insertions, 0 deletions