Mercurial > cpython-lru_cache-weakref
diff Lib/socket.py @ 21473:e1f3fe5677da legacy-trunk
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.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 18 Dec 2001 22:22:25 +0000 |
| parents | b3b2fa76a392 |
| children | 2faa23facef7 3957d155f8c5 |
line wrap: on
line diff
--- a/Lib/socket.py Tue Dec 18 21:08:15 2001 +0000 +++ b/Lib/socket.py Tue Dec 18 22:22:25 2001 +0000 @@ -129,11 +129,16 @@ class _socketobject: + class _closedsocket: + def __getattr__(self, name): + raise error(9, 'Bad file descriptor') + def __init__(self, sock): self._sock = sock def close(self): - self._sock = _closedsocket() + # Avoid referencing globals here + self._sock = self.__class__._closedsocket() def __del__(self): self.close() @@ -153,12 +158,6 @@ exec _s % (_m, _m) -class _closedsocket: - - def __getattr__(self, name): - raise error(9, 'Bad file descriptor') - - class _fileobject: def __init__(self, sock, mode, bufsize):
