
On Apr 23, 2004, at 12:23 PM, rayg wrote:
i just created a fink package for PyKQeue (http://sourceforge.net/tracker/index.php? func=detail&aid=940552&group_id=17203&atid=414256) and this now allows me to use kqreactor.
if i'm not not planning on using any cocoa functionality, is there any advantage to use cfreactor over kqreactor on os x?
i wasn't able to find any direct comparison between the mechanisms behind kqreactor and cfreactor, but i did see that NSRunLoop is asynchronous, like kqueue. i've tested both reactors on a simple script and noticed cfreactor doesn't stop() 75% of the time, so i'm inclined to just use kqreactor, instead of tracking down why cfreactor isn't behaving...
You need to use cfreactor or else twisted will block. You basically have no choice. If that script has a problem with SVN trunk of Twisted, then post the script as a bug and I will fix it. That said, stop() isn't necessarily going to cause the program to exit (it doesn't call CFRunLoopStop), but it should shut down twisted. I've only extensively tested it when used with a NSRunLoop with Cocoa stuff going on, and never bothered with stop functionality because NSRunLoop doesn't have a stop method at all (exiting is done via -[NSApplication terminate] or an exit call). -bob