John Finlay napsal(a):
The problem is that gtk and by extension pygtk has an event loop, and
the python speechd api has implemented its own event loop within a
thread. The speechd protocol is synchronous and sounds similar to
RPCs. This event loop conflict was in general a problem with RPC
programming with GUIs. The best solution is to integrate the two event
loops using io_add_watch but that would entail throwing away the
python speechd api and you would not have to use threads. This is the
course I would take if I was doing your project.
Hello John,
please, I'm quite confused with this, because I have no experience with
pygtk. What kind of conflict do you speak about? Do you propose the
Speech Dispatcher Python API to be changed in some way?
The protocol itself is synchronous TCP protocol except for the events,
which are handled asynchronously. Thus the Python API handles the
communication and calls event callbacks in a separate thread. This
should be totally independent of the pygtk event loop, isn't it?
If you want to use the speechd python api you have to make your pygtk
program threaded
and that is more than just calling threads_init.
What else then needs to be done by a program if it wants to use pygtk in
combination with another library that uses threads?
Thanks for your help,
Hynek Hanke
_______________________________________________
pygtk mailing list pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/