[Twisted-Python] Reactors

Jp Calderone exarkun at divmod.com
Thu Nov 18 00:49:29 EST 2004

On Wed, 17 Nov 2004 17:14:52 -0500, James Y Knight <foom at fuhm.net> wrote:
>Okay, so twisted has a bunch of reactors. But, most of them aren't 
> being tested.
> Currently being tested:
> Linux: select, poll, gtk, gtk2
> OSX: select, cf
> Windows: select, win32event
> Currently untested platform/reactor combos that ought to work:
> Linux: glib2, qt, wx
> OSX: kq, qt, wx
> Windows:  win32event, gtk, gtk2, glib2, qt, wx
> glib2reactor is really gtk2reactor, so, while it might be nice to test, 
> it probably isn't very important, and the linux reactors test already 
> takes a long time. However qtreactor really should be tested.
> Currently, cfreactor and IOCP reactor both seem to be in a state of 
> very-brokenness. Itamar tells me wxreactor is also broken, but I have 
> no knowledge of that. GTK and GTK2 reactors have some failures on BB, 
> but I don't think they're in very bad shape really. Windows default 
> reactor also currently has some failures, but I seem to recall it 
> working right in the recent past (besides not being able to spawn 
> processes).
> So:
>    I propose removing cfreactor from OSX bb, removing IOCP from windows 
> bb, adding win32eventreactor to windows bb, and qtreactor to linux bb.
> The reactors that we know are totally broken (As far as I know, the 
> list is: IOCP, cf, wx) should be marked as such with warnings, and 
> excluded from the release of twisted 2.0.

  You may want to add Qt to the list of broken reactors.  Quite some time ago, it had a place on the reactors buildslave.  Due to gross breakage and a complete absence of interest in fixing it, it was removed.

  Since it is lacking a maintainer, I think it makes for a good candidate for some kind of deprecation in 2.0, for removal in a later release if no one steps up to maintain it.

  A similar case can probably be made for the other three reactors you mentioned: if no one plans to get them working, there's little point in keeping them around.  I think the picture is somewhat better for IOCP and cf: their authors are still around, here and there, and there is actually a benefit to using them ;)  I hope they can be fixed instead of removed.  Wx is tough.  It will be difficult to fix, and lacks a maintainer.  On the other hand, wxWidgets and wxPython _should_ be getting much better in the medium-term future, and it's possible that the current difficults preventing wxreactor from working well will go away.  In this case, the minimal effort on our part to update to new APIs (or whatever) is probably worth it, as wx is fairly popular.  Of course, this does nothing to help the state it is in currently...


More information about the Twisted-Python mailing list