diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2007-05-02 04:47:55 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2007-05-02 04:47:55 (GMT) |
commit | d83eb316dce49606041304afb6b68e85fb1794af (patch) | |
tree | 28968887891d48e627dc15abc3e4a30862777494 | |
parent | c0a293c692febd6125f95bce7d4bec7657e0ee9e (diff) | |
download | cpython-d83eb316dce49606041304afb6b68e85fb1794af.zip cpython-d83eb316dce49606041304afb6b68e85fb1794af.tar.gz cpython-d83eb316dce49606041304afb6b68e85fb1794af.tar.bz2 |
Stop using PyMem_FREE while the GIL is not held. For details see:
http://mail.python.org/pipermail/python-dev/2007-May/072896.html
-rw-r--r-- | Include/pymem.h | 2 | ||||
-rw-r--r-- | Modules/posixmodule.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Include/pymem.h b/Include/pymem.h index 671f967..7f74f37 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 29ef1dc..a63a77a 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, "<fdopen>", orgmode, fclose); |