diff --git a/Lib/socket.py b/Lib/socket.py index b45b4dc8e7d..d2ac5932a28 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -129,11 +129,16 @@ def getfqdn(name=''): 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 @@ def makefile(self, mode='r', bufsize=-1): exec _s % (_m, _m) -class _closedsocket: - - def __getattr__(self, name): - raise error(9, 'Bad file descriptor') - - class _fileobject: def __init__(self, sock, mode, bufsize):