Message79220
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) |
|
Date |
User |
Action |
Args |
2009-01-06 01:09:24 | vstinner | set | recipients:
+ vstinner, loewis, jhylton, gregory.p.smith, amaury.forgeotdarc, ggenellina, zanella, romkyns |
2009-01-06 01:09:24 | vstinner | set | messageid: <1231204164.21.0.865111516988.issue3826@psf.upfronthosting.co.za> |
2009-01-06 01:09:23 | vstinner | link | issue3826 messages |
2009-01-06 01:09:22 | vstinner | create | |
|