avalanche123/uvrb — pull request #2 by mzp (2012-08-14 07:57:25+00:00)
Title: Mark UV.run as blocking to release GIL.

Current UV.run does not release GIL.
So,we could not run multiple loop.

For example, when execute following code, ruby says segmentation fault.

require 'uvrb'
Thread.start { loop = UV::Loop.new; loop.timer.start(1,1){|_|}; loop.run }
loop = UV::Loop.default
loop.timer.start(1,1){|_|}
loop.run

See also 'GIL' section at https://github.com/ffi/ffi/wiki/Callbacks