diff options
author | Daniel Stutzbach <daniel@stutzbachenterprises.com> | 2010-08-31 20:08:07 (GMT) |
---|---|---|
committer | Daniel Stutzbach <daniel@stutzbachenterprises.com> | 2010-08-31 20:08:07 (GMT) |
commit | 19d6a4fd4974a0536a02c93a0dc878194a1d4691 (patch) | |
tree | eddd00809d7cbadfb218b55c441a8e33a650f5b4 /Lib/socket.py | |
parent | a606faa491af05b99dba6ebafa57662cf6b451fe (diff) | |
download | cpython-19d6a4fd4974a0536a02c93a0dc878194a1d4691.zip cpython-19d6a4fd4974a0536a02c93a0dc878194a1d4691.tar.gz cpython-19d6a4fd4974a0536a02c93a0dc878194a1d4691.tar.bz2 |
Issue #808164: Fixed socket.close to avoid references to globals, to
avoid issues when socket.close is called from a __del__ method.
Diffstat (limited to 'Lib/socket.py')
-rw-r--r-- | Lib/socket.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/socket.py b/Lib/socket.py index 7818875..30a01aa 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -172,10 +172,12 @@ class socket(_socket.socket): if self._closed: self.close() - def _real_close(self): - _socket.socket.close(self) + def _real_close(self, _ss=_socket.socket): + # This function should not reference any globals. See Issue808164 + _ss.close(self) def close(self): + # This function should not reference any globals. See Issue808164 self._closed = True if self._io_refs <= 0: self._real_close() |