[ruby-cvs:67776] normal:r60595 (trunk): dir: Dir.mkdir and Dir.rmdir release GVL

normal at ruby-lang.org normal at ruby-lang.org
Wed Nov 1 09:17:11 JST 2017


normal	2017-11-01 09:17:11 +0900 (Wed, 01 Nov 2017)

  New Revision: 60595

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

  Log:
    dir: Dir.mkdir and Dir.rmdir release GVL
    
    This avoids blocking the entire VM when operating on slow or
    unreliable filesystems.  Instead, only the thread performing
    the mkdir or rmdir operation is blocked and other threads
    are free to proceed.
    
    * dir.c (nogvl_mkdir): new function
      (nogvl_rmdir): ditto
      (dir_s_mkdir): release GVL
      (dir_s_rmdir): ditto

  Modified files:
    trunk/dir.c


More information about the ruby-cvs mailing list