This can be fixed in YARV, by wrapping event_dispatch() with the BLOCKING_CALL macro. This releases the VM's global lock and allows the blocking call to execute inside a native thread.<br><br><div><span class="gmail_quote">
On 9/12/07, <b class="gmail_sendername">Thomas Ptacek</b> <<a href="mailto:tqbf@matasano.com">tqbf@matasano.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The green thread scheduler ruled libevent out for Ruby.<br><br>> I'd like to know this as well. epoll utilization is great if you're<br>> on Linux; not so great if you're using Mac OS X or FreeBSD, which have
<br>> kqueue. Using libevent instead of directly calling epoll might have<br>> benefited more users by supporting more operating systems.<br><br>--<br>---<br>Thomas H. Ptacek // matasano security<br>read us on the web:
<a href="http://www.matasano.com/log">http://www.matasano.com/log</a><br>_______________________________________________<br>Eventmachine-talk mailing list<br><a href="mailto:Eventmachine-talk@rubyforge.org">Eventmachine-talk@rubyforge.org
</a><br><a href="http://rubyforge.org/mailman/listinfo/eventmachine-talk">http://rubyforge.org/mailman/listinfo/eventmachine-talk</a><br></blockquote></div><br><br clear="all"><br>-- <br>Tony Arcieri<br>ClickCaster, Inc.<br>
<a href="mailto:tony@clickcaster.com">tony@clickcaster.com</a>