summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Modules')
-rw-r--r--Modules/socketmodule.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index e9b3aad..11e87bc 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -904,14 +904,15 @@ pair (host, port); the host must refer to the local host.";
static PyObject *
PySocketSock_close(PySocketSockObject *s, PyObject *args)
{
+ SOCKET_T fd;
if (!PyArg_ParseTuple(args, ":close"))
return NULL;
- if (s->sock_fd != -1) {
+ if ((fd = s->sock_fd) != -1) {
+ s->sock_fd = -1;
Py_BEGIN_ALLOW_THREADS
- (void) SOCKETCLOSE(s->sock_fd);
+ (void) SOCKETCLOSE(fd);
Py_END_ALLOW_THREADS
}
- s->sock_fd = -1;
Py_INCREF(Py_None);
return Py_None;
}