This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients amaury.forgeotdarc, ggenellina, gregory.p.smith, jhylton, loewis, romkyns, vstinner, zanella
Date 2009-01-06.01:09:21
SpamBayes Score 0.0032059764
Marked as misclassified No
Message-id <1231204164.21.0.865111516988.issue3826@psf.upfronthosting.co.za>
In-reply-to
Content
I spent two hours on this issue and here are some notes...

(1) SocketIO.close() have to call self._sock._decref_socketios() to 
allow the socket to call _real_close()

s = socket...
f = s.makefile()
f.close()  # only close the "file view"
s.close() <= close the socket here

(2) SocketIO.close() have to break its reference to allow the socket 
to be closed

s = socket...
f = s.makefile()
del s      # there is still one reference (f._sock)
f.close() <= the garbage collector will close the socket here

(3) operations on a closed SocketIO should be blocked

s = socket...
f = s.makefile()
f.close()
f.fileno() => error!

So issue3826_gps05.diff have two bugs:
 - point (1)
 - point (3): can be fixed by adding self._check_closed() (and so we 
don't need the local copy of fileno)
History
Date User Action Args
2009-01-06 01:09:24vstinnersetrecipients: + vstinner, loewis, jhylton, gregory.p.smith, amaury.forgeotdarc, ggenellina, zanella, romkyns
2009-01-06 01:09:24vstinnersetmessageid: <1231204164.21.0.865111516988.issue3826@psf.upfronthosting.co.za>
2009-01-06 01:09:23vstinnerlinkissue3826 messages
2009-01-06 01:09:22vstinnercreate