diff options
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Makefile.am | 3 | ||||
| -rw-r--r-- | lib/python/connections.h | 1 | ||||
| -rw-r--r-- | lib/python/python.cpp | 39 | ||||
| -rw-r--r-- | lib/python/python.h | 27 |
4 files changed, 4 insertions, 66 deletions
diff --git a/lib/python/Makefile.am b/lib/python/Makefile.am index e0d5f0cd..1cc01544 100644 --- a/lib/python/Makefile.am +++ b/lib/python/Makefile.am @@ -11,9 +11,6 @@ libenigma_python_a_SOURCES = \ enigma_python_wrap.cxx: enigma_python.i swig -I$(top_srcdir)/ -c++ -python enigma_python.i - echo "#include <lib/python/python.h>" > bla.cxx - cat enigma_python_wrap.cxx >> bla.cxx - mv bla.cxx enigma_python_wrap.cxx installdir = $(LIBDIR)/enigma2/python diff --git a/lib/python/connections.h b/lib/python/connections.h index 9da6a002..8a06f7fa 100644 --- a/lib/python/connections.h +++ b/lib/python/connections.h @@ -7,6 +7,7 @@ #include <features.h> #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200112L +#include <Python.h> #include <lib/python/python.h> class PSignal diff --git a/lib/python/python.cpp b/lib/python/python.cpp index 2636a3d5..119bff1c 100644 --- a/lib/python/python.cpp +++ b/lib/python/python.cpp @@ -1,3 +1,4 @@ +#include <lib/python/python.h> #include <lib/base/eerror.h> /* avoid warnigs :) */ #undef _POSIX_C_SOURCE @@ -7,44 +8,6 @@ extern "C" void init_enigma(); extern void bsodFatal(); -void Impl_Py_DECREF(const char* file, int line, PyObject *obj) -{ - if (!obj) - { - eDebug("decref python object null pointer %s %d!!!", - file, line); - bsodFatal(); - } - if (obj->ob_refcnt <= 0) - { - eDebug("decref python object with refcounting value %d (%s %d)!!!", obj->ob_refcnt, file, line); - bsodFatal(); - } - Py_DECREF(obj); -} - -void Impl_Py_INCREF(const char* file, int line, PyObject *obj) -{ - if (!obj) - { - eDebug("incref python object null pointer %s %d!!!", file, line); - bsodFatal(); - } - if (obj->ob_refcnt <= 0) - { - eDebug("incref python object with refcounting value %d (%s %d)!!!", obj->ob_refcnt, file, line); - bsodFatal(); - } - if (obj->ob_refcnt == 0x7FFFFFFF) - { - eDebug("incref python object with refcounting value %d (MAX_INT!!!) (%s %d)!!!", obj->ob_refcnt, file, line); - bsodFatal(); - } - Py_INCREF(obj); -} - -#include <lib/python/python.h> - DEFINE_REF(TestObj); TestObj::TestObj() diff --git a/lib/python/python.h b/lib/python/python.h index 27d2a9b1..46e1a03d 100644 --- a/lib/python/python.h +++ b/lib/python/python.h @@ -3,33 +3,10 @@ #include <string> #include <lib/base/object.h> -#include <Python.h> -// useable for debugging python refcounting -#undef Py_DECREF -#undef Py_XDECREF -#undef Py_INCREF -#undef Py_XINCREF -#define Py_XDECREF(obj) Impl_Py_XDECREF(__FILE__, __LINE__, obj) -#define Py_DECREF(obj) Impl_Py_DECREF(__FILE__, __LINE__, obj) -#define Py_XINCREF(obj) Impl_Py_XINCREF(__FILE__, __LINE__, obj) -#define Py_INCREF(obj) Impl_Py_INCREF(__FILE__, __LINE__, obj) - -void Impl_Py_DECREF(const char* file, int line, PyObject *obj); - -inline void Impl_Py_XDECREF(const char* file, int line, PyObject *obj) -{ - if (obj) - Impl_Py_DECREF(file, line, obj); -} +typedef struct _object PyObject; -void Impl_Py_INCREF(const char* file, int line, PyObject *obj); - -inline void Impl_Py_XINCREF(const char* file, int line, PyObject *obj) -{ - if (obj) - Impl_Py_INCREF(file, line, obj); -} +// useable for debugging python refcounting extern PyObject *New_TestObj(); |
