git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
proberly install multiple packages without a GSOD
[enigma2.git]
/
lib
/
python
/
python.cpp
diff --git
a/lib/python/python.cpp
b/lib/python/python.cpp
index b5a7abbf505928c50c6040013fdc00eef45d02d2..ad029fb67de01e73f5cb43f34473d10e77ed6ea8 100644
(file)
--- a/
lib/python/python.cpp
+++ b/
lib/python/python.cpp
@@
-3,6
+3,7
@@
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
extern "C" void init_enigma();
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200112L
extern "C" void init_enigma();
+extern "C" void eBaseInit(void);
extern void bsodFatal();
#define SKIP_PART2
extern void bsodFatal();
#define SKIP_PART2
@@
-121,8
+122,10
@@
ePython::ePython()
// Py_OptimizeFlag = 1;
Py_Initialize();
// Py_OptimizeFlag = 1;
Py_Initialize();
-
+ PyEval_InitThreads();
+
init_enigma();
init_enigma();
+ eBaseInit();
}
ePython::~ePython()
}
ePython::~ePython()
@@
-187,6
+190,11
@@
int ePython::call(ePyObject pFunc, ePyObject pArgs)
} else
{
PyErr_Print();
} else
{
PyErr_Print();
+ ePyObject FuncStr = PyObject_Str(pFunc);
+ ePyObject ArgStr = PyObject_Str(pArgs);
+ eDebug("(PyObject_CallObject(%s,%s) failed)", PyString_AS_STRING(FuncStr), PyString_AS_STRING(ArgStr));
+ Py_DECREF(FuncStr);
+ Py_DECREF(ArgStr);
bsodFatal();
}
}
bsodFatal();
}
}