[Python-checkins] CVS: python/dist/src/Lib socket.py,1.15,1.16

Guido van Rossum gvanrossum@users.sourceforge.net
2001年12月18日 14:22:27 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv10114
Modified Files:
	socket.py 
Log Message:
Move the helper class _closedsocket *into* the _socketobject class.
This way, when a socket object is deleted after the socket module has
already been zapped by module shutdown, we don't get annoying warnings
about exceptions in __del__ methods.
Index: socket.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/socket.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** socket.py	2001年10月29日 07:13:53	1.15
--- socket.py	2001年12月18日 22:22:25	1.16
***************
*** 130,138 ****
 class _socketobject:
 
 def __init__(self, sock):
 self._sock = sock
 
 def close(self):
! self._sock = _closedsocket()
 
 def __del__(self):
--- 130,143 ----
 class _socketobject:
 
+ class _closedsocket:
+ def __getattr__(self, name):
+ raise error(9, 'Bad file descriptor')
+ 
 def __init__(self, sock):
 self._sock = sock
 
 def close(self):
! # Avoid referencing globals here
! self._sock = self.__class__._closedsocket()
 
 def __del__(self):
***************
*** 152,161 ****
 for _m in _socketmethods:
 exec _s % (_m, _m)
- 
- 
- class _closedsocket:
- 
- def __getattr__(self, name):
- raise error(9, 'Bad file descriptor')
 
 
--- 157,160 ----

AltStyle によって変換されたページ (->オリジナル) /