Custom type: PyObject_IS_GC access violation
Bue Krogh Vedel-Larsen
hesterumpe at tiscali.dk
Thu Jun 9 17:10:26 EDT 2005
More information about the Python-list mailing list
Thu Jun 9 17:10:26 EDT 2005
- Previous message (by thread): Custom type: PyObject_IS_GC access violation
- Next message (by thread): Capture close window button in Tkinter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'm extending my C++ app by embedding Python 2.4.1 in it. The app is
multithreaded and split into several DLL's. The main EXE calls
Py_Initialize and Py_Finalize and each DLL gets a seperate interpreter
with Py_NewInterpreter.
The problem comes when I try to add a new type. I've been following the
"Extending and Embedding the Python Interpreter" tutorial. I've created a
PyTypeObject struct like so:
struct SA_PyVector {
PyObject_HEAD
int herman;
};
static PyTypeObject SA_PyVector_Type = {
PyObject_HEAD_INIT( 0 )
0,
"vector.Vector",
sizeof(SA_PyVector),
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Py_TPFLAGS_DEFAULT,
"Vector objects",
};
But if I call
SA_PyVector_Type.tp_new = PyType_GenericNew;
PyType_Ready( &SA_PyVector_Type );
then, when Py_Finalize is called, PyObject_IS_GC(op) in visit_decref() in
gcmodule.c causes an access violation. If I don't call PyType_Ready, then
the access violation doesn't occure, but then the type can't be used...
So, the question is, does anyone have any idea about what could be
causing this?
/Bue
- Previous message (by thread): Custom type: PyObject_IS_GC access violation
- Next message (by thread): Capture close window button in Tkinter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list