You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Darryl L. Pierce (JIRA)" <ji...@apache.org> on 2014/11/19 20:04:34 UTC

[jira] [Assigned] (PROTON-752) Ruby: Cproton calls don't unlock the GIL for blocking / long-running operations

     [ https://issues.apache.org/jira/browse/PROTON-752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Darryl L. Pierce reassigned PROTON-752:
---------------------------------------

    Assignee: Darryl L. Pierce

> 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
>            Assignee: Darryl L. Pierce
>            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)