GNOME Bugzilla – Bug 591827
Make gtk.gdk.threads_{enter,leave} recursive
Last modified: 2011-12-30 06:38:25 UTC
Please describe the problem: Using PyGTK, I'm running into weird deadlock problems even though - I call gobject.threads_init and gtk.gdk.threads_init before everything else - I know that gtk.gdk.threads_xxx is automatically called for signal handlers, thus I don't call them myself - only one of my threads (not the main thread) calls gtk.gdk.threads_enter/leave I'm pretty sure that's not a problem in my code. Anyway, what I request is, please make these locks recursive so that a thread can't deadlock itself. Steps to reproduce: It cannot, unfortunately. Actually it only occurred once. Actual results: Expected results: Does this happen every time? Other information:
pygtk might want to replace the locking functions, like java-gnome does, with recursive locks; so this should really be a feature request for pygtk. remember, though, that recursive locks will open the door to other deadlocking issues.
*** This bug has been marked as a duplicate of bug 425995 ***