On Jan 6, 2010, at 9:46 AM, ssteinerX@gmail.com wrote:
As far as I know, in my limited spelunking into Twisted's guts, Deferred's pretty much only know about themselves and their callbacks so I'm not sure whether there's a "ringmaster" that knows any more than that that could make sure that all things are cleaned up properly.
Indeed not. And I don't think there could be; in your ABORT handler description, you are describing a system where pretty much all the constraints are known, and all the code is being integrated into a single unit, together with hardware. Twisted is supposed to be general-purpose enough that a "ringmaster" packaged with Twisted could not know about every possible different thing that might need to be cancelled and could not account for them... (Unless of course you're talking about having a plugin API where things could register interest in cancellation, and that's pretty much what Terry and I seem to be converging on in the other fork of this thread.)