Merged revisions 84172 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84172 | martin.v.loewis | 2010-08-18 18:12:23 +0200 (Mi, 18 Aug 2010) | 2 lines

  Restore GIL in nis_cat in case of error.
........
diff --git a/Misc/NEWS b/Misc/NEWS
index d035ff1..39e2430 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@
 Core and Builtins
 -----------------
 
+- Restore GIL in nis_cat in case of error.
+
 - Issue #5319: Print an error if flushing stdout fails at interpreter
   shutdown.
 
diff --git a/Modules/nismodule.c b/Modules/nismodule.c
index 16c7b81..d75af5d 100644
--- a/Modules/nismodule.c
+++ b/Modules/nismodule.c
@@ -124,6 +124,7 @@
             PyErr_Clear();
             Py_XDECREF(key);
             Py_XDECREF(val);
+            indata->state = PyEval_SaveThread();
             return 1;
         }
         err = PyDict_SetItem(indata->dict, key, val);