[Python-Dev] asyncore fixes in Python 2.6 broke Zope's version of medusa

Guido van Rossum guido at python.org
Wed Mar 4 22:31:27 CET 2009

On Wed, Mar 4, 2009 at 1:27 PM, Chris McDonough <chrism at plope.com> wrote:
> Daniel Stutzbach wrote:
>> On Wed, Mar 4, 2009 at 12:54 PM, Guido van Rossum <guido at python.org> wrote:
>>> The same as always. We don't change APIs in bugfix releases.
>> This question is actually for the Zope folks and others who have had
>> problems with the 2.6 asyncore/asynchat:
>> Are any of the problems due to a change in the documented API... or are they
>> all due to changes in undocumented internals that your code relied on?
> As far as I can tell, asyncore/asynchat is all "undocumented internals".  Any
> use of asyncore in anger will use internals; there never was any well-understood
> API to these modules.  Medusa itself (from which asyncore and asynchat were
> derived) appears to itself break with the changes to asyncore/asynchat in 2.6
> (at least it appears to use attributes like "ac_out_buffer" which were removed
> in 2.6; this is not "Zope's version"; there is no such animal; this is plain old
> Medusa 0.5.4).
> Count me in as one who believes that it would be the lesser of two evils to
> revert to the older (2.5 and prior) asyncore/asynchat implementations in 2.6.2
> rather than soldiering on with the 2.6 and 2.6.1 implementation (which almost
> certainly has fewer, if any, consumers); somebody messed up in 2.6 by making its
> asyncore/asynchat more forward compatible with 3.0's than backwards compatible
> with 2.5's and prior; this was just a mistake and keeping old code running
> should trump any theoretical or puritanical benefit in a dot release.

Then I'd like to hear from the folks who made and reviewed those
changes to asyncore in 2.6. I can't imagine the changes were done
without good intentions.

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list