diff options
Diffstat (limited to 'Lib/socket.py')
| -rw-r--r-- | Lib/socket.py | 16 | 
1 files changed, 6 insertions, 10 deletions
diff --git a/Lib/socket.py b/Lib/socket.py index 0daeadc..3611c43 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -136,30 +136,26 @@ _socketmethods = (      'recv', 'recvfrom', 'send', 'sendall', 'sendto', 'setblocking',      'settimeout', 'gettimeout', 'shutdown') +class _closedsocket(object): +    __slots__ = [] +    def __getattr__(self, name): +        raise error(9, 'Bad file descriptor') +  class _socketobject(object):      __doc__ = _realsocket.__doc__      __slots__ = ["_sock"] -    class _closedsocket(object): -        __slots__ = [] -        def __getattr__(self, name): -            raise error(9, 'Bad file descriptor') -      def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, _sock=None):          if _sock is None:              _sock = _realsocket(family, type, proto)          self._sock = _sock      def close(self): -        # Avoid referencing globals here -        self._sock = self.__class__._closedsocket() +        self._sock = _closedsocket()      close.__doc__ = _realsocket.close.__doc__ -    def __del__(self): -        self.close() -      def accept(self):          sock, addr = self._sock.accept()          return _socketobject(_sock=sock), addr  | 
