[PyKDE] pyqt/mysqld thread deadlock
kibab at icehouse.net
Wed Jan 1 23:01:00 GMT 2003
On Wednesday 01 January 2003 01:42 pm, Martin v. Löwis wrote:
> Kaleb Pederson wrote:
> > (gdb) thread 1
> > #0 0x4024b1be in select () from /lib/libc.so.6
> > #16 0x080a81d2 in PyImport_ImportModuleEx (name=0x818a924
> > "gem.src.gui.gui", globals=0x8145154, locals=0x8145154,
> > fromlist=0x8114484) at
> > Python/import.c:1658
> >>From my limited knowledge of the Python interpreter, it looks like the
> >> lock
> > only gets acquired once in the third thread. In which case, there would
> > be no reason for it to block. But, the first thread also had some
> > relevant import calls, so I'm not sure. Where do I look now?
> See the source of PyImport_ImportModuleEx. It acquires the import lock,
> so you are holding the import lock while QApplication_exec_loop is
> running. That means you deadlock.
> gem.src.gui.gui should not run the mainloop, but expose a function to
> run the mainloop, which the importer of gui should then invoke.
Ahh. I'm going to change that right now. I'll let you know. Thank you.
More information about the PyQt