[ https://issues.apache.org/jira/browse/PROTON-1063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15142511#comment-15142511 ]
Robbie Gemmell commented on PROTON-1063: ---------------------------------------- [~aconway] what is the status on this? Done? Bump to 0.13.0? Other? > ruby: ruby reactor holds GVL in process > --------------------------------------- > > Key: PROTON-1063 > URL: https://issues.apache.org/jira/browse/PROTON-1063 > Project: Qpid Proton > Issue Type: Bug > Components: ruby-binding > Affects Versions: 0.10 > Reporter: Alan Conway > Assignee: Alan Conway > Fix For: 0.12.0 > > > Ruby has a global lock the GVL, like python's GIL. > The ruby binding Reactor#process blocks in pn_reactor_process while holding > the lock, blocking all other ruby threads. > This is the same issue as PROTON-752, but it was only fixed for messenger, > not for the reactor. > The fix is more complex, we can't simply call pn_reactor_process in > rb_thread_call_without_gvl() because it calls handler functions that call > back into ruby. We need to isolate just the blocking IO code in without_gvl > and restore the lock before handlers call back into ruby. -- This message was sent by Atlassian JIRA (v6.3.4#6332)