On Wed, 21 Sep 2005 18:23:33 -0500, Sam <[EMAIL PROTECTED]> wrote: >I'm using Python 2.3.5 with pygtk 2.4.1, and I'm using the second threading >approach from pygtk's FAQ 20.6 - invoking "gtk.gdk.threads_init()", and >wrapping all gtk/gdk function calls with >gtk.threads_enter()/gtk.threads_leave() > >I start a thread, via thread.Threading.start(). The thread then calls a >particularly time consuming C function, from an extension module. I find >that when the thread is running the C code, the GUI hangs even though I'm >not inside the threads_enter/threads_leave territory. >
Does the extension module release the GIL? It sounds like it does not. Of course, there are a dozen other mistakes that could be made which would have roughly this symptom. It's difficult to say which is the problem without actually seeing any code. >It looks like thread.Threading() only simulates threading, by having the >python interpreter multiplex between running threads. Is real threading >possible, so that I do something time-consuming in the thread, without >hanging the GUI? > Assuming you mean threading.Thread, this is a native thread. It is not a simulation. Something else is going wrong. Jp -- http://mail.python.org/mailman/listinfo/python-list