summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2010-08-18 16:12:23 +0000
committerMartin v. Löwis <martin@v.loewis.de>2010-08-18 16:12:23 +0000
commitdfaf9ec93a75a5d41b89dfd4c6540f1289798130 (patch)
tree56d4b625b58dc2f4c9712627ba0a4d6328fcc5a6
parentc14190dc5b24716db1474a4c34618098331ce937 (diff)
downloadcpython-git-dfaf9ec93a75a5d41b89dfd4c6540f1289798130.tar.gz
Restore GIL in nis_cat in case of error.
-rw-r--r--Misc/NEWS2
-rw-r--r--Modules/nismodule.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 8a1d414c09..59ad9d34a3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -57,6 +57,8 @@ Core and Builtins
Extensions
----------
+- Restore GIL in nis_cat in case of error.
+
- Issue #665761: ``functools.reduce()`` will no longer mask exceptions
other than ``TypeError`` raised by the iterator argument.
diff --git a/Modules/nismodule.c b/Modules/nismodule.c
index 16c7b813b0..d75af5d589 100644
--- a/Modules/nismodule.c
+++ b/Modules/nismodule.c
@@ -124,6 +124,7 @@ nis_foreach (int instatus, char *inkey, int inkeylen, char *inval,
PyErr_Clear();
Py_XDECREF(key);
Py_XDECREF(val);
+ indata->state = PyEval_SaveThread();
return 1;
}
err = PyDict_SetItem(indata->dict, key, val);