diff options
author | jbj <devnull@localhost> | 2003-01-12 21:23:49 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 2003-01-12 21:23:49 +0000 |
commit | d23480d85dea973d9a03b6e2d51b71410dbd7b0c (patch) | |
tree | aca67cb9ca29d5328de014ad145394ff48838cfb /python/rpmmodule.c | |
parent | 254626a18d8a54dfd3b09df5a1ed6027c9a83bf3 (diff) | |
download | rpm-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.c | 7 |
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); |