nio4r and the Ruby GIL revisited

Marc Lehmann schmorp at schmorp.de
Sun Mar 4 09:55:36 CET 2012


On Fri, Mar 02, 2012 at 05:27:16PM -0800, Tony Arcieri <tony.arcieri at gmail.com> wrote:
> 
> https://github.com/tarcieri/nio4r/blob/master/ext/nio4r/selector.c#L161

I am sorry, I didn't find that, so I guess everything is just perfect.

> I can request they change the global interpreter lock API, because I agree
> it is obviously wrong and I *need* the ability to granularly lock and

You should.

working around this in libev would either force me to expose this internal interface
or major uglyness.

I'd resort to "patching", although you should try some elss invasive methods,
e.g.

   $ cat myev.c

   #define backend_poll(loop, waittime) ...
   #include "ev.c"

and see how far you get. this happens to only match the backend_poll call,
and while that might change, and you havr to look at internals (such as
how toc all backend_poll), at least you wouldn't have to patcht he file on
every release.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at schmorp.de
      -=====/_/_//_/\_,_/ /_/\_\



More information about the libev mailing list