Darryl L. Pierce commented on PROTON-752:

This is a good topic for discussion on the mailing list. Given our support for 
both 1.8 as well as 1.9+ we would have to derive two separate ways to handle 
this if we go for a native extension. Not impossible, but definitely something 
that needs to some initial thinking.

> 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

Reply via email to