#3632: the "pyo" macro from gdbinit can now run when the GIL is released.

Patch by haypo.
This commit is contained in:
Amaury Forgeot d'Arc 2008-12-15 22:29:14 +00:00
parent 31949b9108
commit 3538a3107a
2 changed files with 6 additions and 0 deletions

View File

@ -185,6 +185,9 @@ Build
C-API C-API
----- -----
- Issue #3632: from the gdb debugger, the 'pyo' macro can now be called when
the GIL is released, or owned by another thread.
- Issue #4122: On Windows, fix a compilation error when using the - Issue #4122: On Windows, fix a compilation error when using the
Py_UNICODE_ISSPACE macro in an extension module. Py_UNICODE_ISSPACE macro in an extension module.

View File

@ -331,8 +331,11 @@ void _PyObject_Dump(PyObject* op)
if (op == NULL) if (op == NULL)
fprintf(stderr, "NULL\n"); fprintf(stderr, "NULL\n");
else { else {
PyGILState_STATE gil;
fprintf(stderr, "object : "); fprintf(stderr, "object : ");
gil = PyGILState_Ensure();
(void)PyObject_Print(op, stderr, 0); (void)PyObject_Print(op, stderr, 0);
PyGILState_Release(gil);
/* XXX(twouters) cast refcount to long until %zd is /* XXX(twouters) cast refcount to long until %zd is
universally available */ universally available */
fprintf(stderr, "\n" fprintf(stderr, "\n"