In FAQ 20.6 I am using a separate thread to run my code, but the application (or the UI) hangs.
The following text appears. | John K. Luebs reminds you: *don't forget gtk.threads_enter() and | gtk.threads_leave()* around mainloop when accessing gtk code if you want | your application to actually work threaded: | | gtk.gdk.threads_enter() | gtk.main() | gtk.gdk.threads_leave() I think this is wrong although it doesn't seem to hurt. >From the reference pages I understand that gtk.gdk.threads_init initializes a lock and that gtk.gdk.threads_enter() acquires this lock while gtk.gdk.threads_leave() releases it. In any case it is all about marking critical sections. Now marking the gtk.main() as such a critical section would mean that all other threads wanting to enter a critical section with gtk.gdk calls would be stopped from doing so until gtk.main had quit. That seems less than usefull. -- Antoon Pardon _______________________________________________ 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/