Issue #4328 has been updated by ko1 (Koichi Sasada).

Status changed from Assigned to Closed

Now we have include/ruby/thread.h: void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);


----------------------------------------
Feature #4328: export rb_thread_call_with_gvl()
https://bugs.ruby-lang.org/issues/4328#change-29658

Author: normalperson (Eric Wong)
Status: Closed
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 1.9.3


=begin
 I think it is general enough to remain supported along
 with the rest of the MRI C API, especially since
 rb_thread_blocking_region() exists and is supported.
 
 It's useful for interacting with certain C libraries that expect a
 user-supplied callback function so the extension can allocate a Ruby
 object inside the callback.
 
 It can also be easily made a no-op for Ruby implementations without a
 GVL.
=end



-- 
http://bugs.ruby-lang.org/