diff options
author | Martin Panter <vadmium+py@gmail.com> | 2016-04-11 00:38:12 (GMT) |
---|---|---|
committer | Martin Panter <vadmium+py@gmail.com> | 2016-04-11 00:38:12 (GMT) |
commit | 50ab1a3694c43b9ab6798b98d9e5983c78cb17e2 (patch) | |
tree | 5ad077a9ff466bd0cab3074373f687b0e77367c1 /Modules | |
parent | f01e408c1688a207eba18444da8c151c872fba59 (diff) | |
download | cpython-50ab1a3694c43b9ab6798b98d9e5983c78cb17e2.zip cpython-50ab1a3694c43b9ab6798b98d9e5983c78cb17e2.tar.gz cpython-50ab1a3694c43b9ab6798b98d9e5983c78cb17e2.tar.bz2 |
Issue #26685: Raise OSError if closing a socket fails
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/socketmodule.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 8df735d..bcff004 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -2576,6 +2576,7 @@ static PyObject * sock_close(PySocketSockObject *s) { SOCKET_T fd; + int res; fd = s->sock_fd; if (fd != -1) { @@ -2586,8 +2587,11 @@ sock_close(PySocketSockObject *s) http://linux.derkeiler.com/Mailing-Lists/Kernel/2005-09/3000.html for more details. */ Py_BEGIN_ALLOW_THREADS - (void) SOCKETCLOSE(fd); + res = SOCKETCLOSE(fd); Py_END_ALLOW_THREADS + if (res < 0) { + return s->errorhandler(); + } } Py_INCREF(Py_None); return Py_None; |