You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Dominic Evans (JIRA)" <ji...@apache.org> on 2014/11/19 14:57:33 UTC
[jira] [Created] (PROTON-752) Ruby: Cproton calls don't unlock the
GIL for blocking / long-running operations
Dominic Evans created PROTON-752:
------------------------------------
Summary: Ruby: Cproton calls don't unlock the GIL for blocking / long-running operations
Key: PROTON-752
URL: https://issues.apache.org/jira/browse/PROTON-752
Project: Qpid Proton
Issue Type: Bug
Components: ruby-binding
Affects Versions: 0.8
Reporter: Dominic Evans
Priority: Minor
Currently the I/O-style calls to the Cproton methods don't unlock the Ruby GIL, impacting performance as other Threads could be given time on the interpreter whilst the extension code is running.
Depending on Ruby version this is simply a matter of wrapping the calls in rb_thread_call_without_gvl (Ruby 2.x +) or rb_thread_blocking_region (Ruby 1.9.x). On Ruby 1.8 I'm not sure if you can enable this, but its my understanding that RHEL requires continued support for 1.8, so some #define work would be needed to perform a no-op on that version.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)