Hi,

I was reading through the conversation and while I am no expert what I
realized was that a lot of background networking tasks are executed in
separate threads when pyGTK is used. There is a standardized method that
needs to be followed when such network processing has to be combined with UI
updating. It has been elegantly explained here :
http://aruiz.typepad.com/siliconisland/2006/04/threads_on_pygt.html

Best,
Hemant

On Mon, Apr 28, 2008 at 2:06 PM, Hynek Hanke <[EMAIL PROTECTED]> wrote:

> 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/

Reply via email to