summaryrefslogtreecommitdiff
path: root/Lib/socket.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/socket.py')
-rw-r--r--Lib/socket.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Lib/socket.py b/Lib/socket.py
index 045987c086..737930d003 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -225,11 +225,12 @@ class SocketIO(io.RawIOBase):
return self._writing and not self.closed
def fileno(self):
+ self._checkClosed()
return self._sock.fileno()
@property
def name(self):
- return self._sock.fileno()
+ return self.fileno()
@property
def mode(self):
@@ -239,9 +240,12 @@ class SocketIO(io.RawIOBase):
if self.closed:
return
io.RawIOBase.close(self)
+ self._sock._decref_socketios()
+ self._sock = None
def __del__(self):
- self._sock._decref_socketios()
+ if not self.closed:
+ self._sock._decref_socketios()
def getfqdn(name=''):