From d83eb316dce49606041304afb6b68e85fb1794af Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Wed, 2 May 2007 04:47:55 +0000 Subject: [PATCH] Stop using PyMem_FREE while the GIL is not held. For details see: http://mail.python.org/pipermail/python-dev/2007-May/072896.html --- Include/pymem.h | 2 ++ Modules/posixmodule.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Include/pymem.h b/Include/pymem.h index 671f967c8913..7f74f3701b0a 100644 --- a/Include/pymem.h +++ b/Include/pymem.h @@ -30,6 +30,8 @@ extern "C" { debugging info to dynamic memory blocks. The system routines have no idea what to do with that stuff, and the Python wrappers have no idea what to do with raw blocks obtained directly by the system routines then. + + The GIL must be held when using these APIs. */ /* diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 29ef1dcc99e8..a63a77a3d5a8 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -6296,8 +6296,8 @@ posix_fdopen(PyObject *self, PyObject *args) #else fp = fdopen(fd, mode); #endif - PyMem_FREE(mode); Py_END_ALLOW_THREADS + PyMem_FREE(mode); if (fp == NULL) return posix_error(); f = PyFile_FromFile(fp, "", orgmode, fclose); -- 2.47.3