Staging
v0.5.1
Revision f8cc64017ca0f33b1e21b1c9c9f5f30ebdc4da31 authored by Gregory P. Smith on 02 May 2008, 07:26:52 UTC, committed by Gregory P. Smith on 02 May 2008, 07:26:52 UTC
problems is in the bug report (one old, one recently introduced trying
to fix the old one).  In short:

buffer data during socket._fileobject.read() and readlines() within a
cStringIO object instead of a [] of str()s returned from the recv()
call.

This prevents excessive memory use due to the size parameter being
passed to recv() being grossly larger than the actual size of the data
returned *and* prevents excessive cpu usage due to looping in python
calling recv() with a very tiny size value if min() is used as the
previous memory-use bug "fix" did.

It also documents what the socket._fileobject._rbufsize member is
actually used for.

This is a candidate for back porting to 2.5.
1 parent b457dda
History

README

back to top