[pygtk] Pygtk does not play nicely with speech-dispatcher
Hynek Hanke
hanke at brailcom.org
Mon Apr 28 16:54:33 WST 2008
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
More information about the pygtk
mailing list