[ruby-cvs:57347] akr:r50198 (trunk): * process.c: Release GVL when opening a file in spawn() to avoid whole

akr at ruby-lang.org akr at ruby-lang.org
Fri Apr 10 01:33:04 JST 2015


akr	2015-04-10 01:33:02 +0900 (Fri, 10 Apr 2015)

  New Revision: 50198

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

  Log:
    * process.c: Release GVL when opening a file in spawn() to avoid whole
      process blocking when opening a named pipe.
      (open_func): New function.
      (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and
      use rb_thread_call_without_gvl2 to release GVL when opening a file.
      (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via
      rb_protect and invoke rb_execarg_parent_end when error.

  Modified files:
    trunk/ChangeLog
    trunk/process.c
    trunk/test/ruby/test_process.rb


More information about the ruby-cvs mailing list