Project

General

Profile

« Previous | Next » 

Revision 089eb0c5

Added by Eric Wong over 7 years ago

dir: release GVL on opendir

opendir(3) is subject to the same pathological slowdowns on
slow or unreliable filesystems as open(2), so release the GVL
to avoid stalling the entire VM like we do with IO#open

  • dir.c (nogvl_opendir): new function
    (opendir_without_gvl): new function
    (dir_initialize): s/opendir/&_without_gvl/
    (do_opendir): ditto

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