summaryrefslogtreecommitdiff
path: root/python/rpmmodule.c
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2003-01-12 21:23:49 +0000
committerjbj <devnull@localhost>2003-01-12 21:23:49 +0000
commitd23480d85dea973d9a03b6e2d51b71410dbd7b0c (patch)
treeaca67cb9ca29d5328de014ad145394ff48838cfb /python/rpmmodule.c
parent254626a18d8a54dfd3b09df5a1ed6027c9a83bf3 (diff)
downloadrpm-d23480d85dea973d9a03b6e2d51b71410dbd7b0c.tar.gz
rpm-d23480d85dea973d9a03b6e2d51b71410dbd7b0c.tar.bz2
rpm-d23480d85dea973d9a03b6e2d51b71410dbd7b0c.zip
- file: *really* read elf64 notes correctly.
- python: restore thread context on errorCB (#80744). CVS patchset: 6007 CVS date: 2003/01/12 21:23:49
Diffstat (limited to 'python/rpmmodule.c')
-rw-r--r--python/rpmmodule.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/python/rpmmodule.c b/python/rpmmodule.c
index d1de9790c..2ac4aba8b 100644
--- a/python/rpmmodule.c
+++ b/python/rpmmodule.c
@@ -186,6 +186,7 @@ static PyObject * findUpgradeSet(PyObject * self, PyObject * args)
*/
static PyObject * errorCB = NULL;
static PyObject * errorData = NULL;
+static PyThreadState * errorThread = NULL;
/**
*/
@@ -193,6 +194,8 @@ static void errorcb (void)
{
PyObject * result, * args = NULL;
+ PyEval_RestoreThread(errorThread);
+
if (errorData)
args = Py_BuildValue("(O)", errorData);
@@ -203,6 +206,9 @@ static void errorcb (void)
PyErr_Print();
PyErr_Clear();
}
+
+ errorThread = PyEval_SaveThread();
+
Py_DECREF (result);
}
@@ -240,6 +246,7 @@ static PyObject * errorSetCallback (PyObject * self, PyObject * args)
errorCB = newCB;
errorData = newData;
+ errorThread = PyEval_SaveThread();
Py_INCREF (errorCB);
Py_XINCREF (errorData);