Re: [Python-Dev] embedding in multi threaded C/C++

2008-03-18 Thread Aahz
On Mon, Mar 10, 2008, George Fazekas wrote:
> 
> I'm working on embedding Python in a multi threaded application but
> found mostly old or confusing info on this. Can anyone point me to the
> right direction or send some working examples?

You should ask on comp.lang.python or the capi-sig list.  python-dev is
for people working on improving the Python core.
-- 
Aahz ([EMAIL PROTECTED])   <*> http://www.pythoncraft.com/

"It is easier to optimize correct code than to correct optimized code."
--Bill Harlan
___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com


[Python-Dev] embedding in multi threaded C/C++

2008-03-18 Thread George Fazekas
Hi all,

I'm working on embedding Python in a multi threaded application
but found mostly old or confusing info on this. Can anyone point me to  
the
right direction or send some working examples?

Detail:

Python 2.5.1, MacOSX Leopard 10.5.1, using Pytohn/C API

The application initializes Python in a shared library, which in turn  
links
in more libraries that may or may not use C API commands in parallel.
Generally it all works fine, but when two libraries try to access  
Python code
I get seg fault or similar.

The closest I got to resolve this is based on this message:
http://groups.google.fi/group/comp.lang.python/msg/fe4e114d1e1a741d
which suggests starting a new sub interpreter for each task.

However, i still get errors like below. (Thread 0 on it's own works  
fine.)
According to the docs PyObject_HasAttrString should always succeeds so  
I don't
understand what happens.

Also I get thread mix-up messages randomly even though I double  
checked the
implementation.

2 Threads accessing Python:
---

Thread 0 Crashed:
0   org.python.python   0x15a58bcc PyErr_Occurred + 16  
(errors.c:77)
1   org.python.python   0x159c642c instance_getattr + 277  
(classobject.c:698)
2   org.python.python   0x159f789b PyObject_HasAttrString +  
116 (object.c:1069)

While Thread 4 is running a process:

Thread 4:
0   org.python.python   0x15a43751 PyEval_EvalFrameEx + 794  
(ceval.c:852)
1   org.python.python   0x15a49cdc PyEval_EvalCodeEx + 1819  
(ceval.c:2831)
2   org.python.python   0x159df537 function_call + 320  
(funcobject.c:517)
3   org.python.python   0x159be278 PyObject_Call + 45  
(abstract.c:1860)
4   org.python.python   0x159c5ee5 instancemethod_call +  
401 (classobject.c:2497)
5   org.python.python   0x159c297c  
PyObject_CallMethodObjArgs + 223 (abstract.c:1860)


Thanks for any advice,
George

___
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com