Kaydet (Commit) 2d8adff1 authored tarafından Barry Warsaw's avatar Barry Warsaw

PyErr_NoMemory(): If the pre-instantiated memory exception is non-null

(PyExc_MemoryErrorInst) raise this instead of PyExc_MemoryError.  This
only happens when exception classes are enabled (e.g. when Python is
started with -X).
üst dd82bb9c
...@@ -256,7 +256,15 @@ PyErr_BadArgument() ...@@ -256,7 +256,15 @@ PyErr_BadArgument()
PyObject * PyObject *
PyErr_NoMemory() PyErr_NoMemory()
{ {
PyErr_SetNone(PyExc_MemoryError); /* raise the pre-allocated instance if it still exists */
if (PyExc_MemoryErrorInst)
PyErr_SetObject(PyExc_MemoryError, PyExc_MemoryErrorInst);
else
/* this will probably fail since there's no memory and hee,
hee, we have to instantiate this class
*/
PyErr_SetNone(PyExc_MemoryError);
return NULL; return NULL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment