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)

Reply via email to