Author kristjan.jonsson
Recipients kristjan.jonsson
Date 2009-12-09.17:27:11
SpamBayes Score 0.000156
Marked as misclassified No
Message-id <>
in urllib2, you will find these lines:
        # Wrap the HTTPResponse object in socket's file object adapter
        # for Windows.  That adapter calls recv(), so delegate recv()
        # to read().  This weird wrapping allows the returned object to
        # have readline() and readlines() methods.

        # XXX It might be better to extract the read buffering code
        # out of socket._fileobject() and into a base class.

        r.recv =
        fp = socket._fileobject(r, close=True)

This, storing a bound method in the instance, will cause a reference 
cycle that the user knows nothing about.

I propose creating a wrapper instance with a recv() method instead.  Or, 
is there a standard way of storing bound methods on instances?  A 
'weakmethod', perhaps?
Date User Action Args
2009-12-09 17:27:13kristjan.jonssonsetrecipients: + kristjan.jonsson
2009-12-09 17:27:13kristjan.jonssonsetmessageid: <>
2009-12-09 17:27:11kristjan.jonssonlinkissue7464 messages
2009-12-09 17:27:11kristjan.jonssoncreate