On Mon, Jan 13, 2003 at 01:52:07PM -0600, Jon Nelson wrote:
> > This was a rumor that Jon Nelson brought up, and I have yet to see proof
> > of it. I *think* your approach is safe, and that only the GTK thread
> > will be used for all GTK operations, no matter what (after all, it *is*
> > GTK who is driving the mainloop).
> 
> OK, here's the deal.  IIRC, signal handlers properly deal with thread
> stuff, but idle functions, i/o-watchers, and timeout functions do *not*.
> They are not put into their own thread, at least, not as far as I can
> tell, but they don't properly deal with threads from a gtk/gdk level,
> either.  Therefore, whenever dealing with one of the latter, make sure

Well, from what John and me discussed today, this may be related to some
global threading state being inconsistent and causing hangs if
mainiteration() is called inside an idle, timeout our input handler. If
you are using mainiteration() in one of these places, be sure to wrap
your calls in a threads_enter/leave pair or else!

> to wrap yer gtk/gdk code in gtk.threads_{enter,leave}

Take care,
--
Christian Reis, Senior Engineer, Async Open Source, Brazil.
http://async.com.br/~kiko/ | [+55 16] 261 2331 | NMFL
_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to