[Twisted-Python] Immediate removal of cfreactor

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sat Oct 30 20:51:46 EDT 2010

Hello all,

As reported in <http://twistedmatrix.com/trac/ticket/4652>, some 
problems have arisen with cfreactor.

First, recent versions of Pyrex reject the Pyrex source for the support 
modules.  This makes future development on cfreactor difficult (although 
Glyph's branch does resolve this problem - or at least appears to).

Second, the C source files do not build with clang.  This seems likely 
to become more important on future versions of OS X (the only platform 
where this code matters).  Even OS X 10.6 makes clang easily available 
(according to an Ars Technica article, "Clang is the recommended 
compiler, and the focus of all of Apple's future efforts." 

Finally, when the cfreactor build fails, distutils prematurely exits, 
preventing the rest of the build from completing.  This point makes this 
a serious problem for Twisted as a whole, rather than an obscure 
platform quirk that can be ignored without wide-ranging consequences.

Apple has announced OS X 10.7 for summer 2011.  Presumably at some point 
prior to this they will freeze on a version of Twisted to package.  The 
best outcome for Twisted can probably be attained by ensuring this is a 
version of Twisted which does not have the build issues reported in 

Rather than leaving this to chance, I propose that we remove cfreactor 
and all supporting code ourselves, immediately (ie, in 10.2 - hi therve, 
go faster next time ;).

I think the relatively small userbase of cfreactor (I don't know of any 
projects using it, nor does Google codesearch) and the fact that the 
version of cfreactor in trunk segfaults partway through running the test 
suite, combined with the potentially time-sensitive nature of this fix, 
merits an exception to the normal backwards policy.

Rather than removing it, we could fix it, but the fact that no one seems 
to be using it makes me think that no one with the expertise and 
interest will step up to so.

If we're going to do this, it would be good to do it in the next few 
days (say, by Tuesday) so as not to unduly further delay the 10.2 
release process.



More information about the Twisted-Python mailing list