[ruby-cvs:68011] normal:r60830 (trunk): dir: release GVL on opendir

normal at ruby-lang.org normal at ruby-lang.org
Sat Nov 18 11:01:44 JST 2017


normal	2017-11-18 11:01:44 +0900 (Sat, 18 Nov 2017)

  New Revision: 60830

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60830

  Log:
    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

  Modified files:
    trunk/dir.c


More information about the ruby-cvs mailing list