After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 591827 - Make gtk.gdk.threads_{enter,leave} recursive
Make gtk.gdk.threads_{enter,leave} recursive
Status: RESOLVED DUPLICATE of bug 425995
Product: gtk+
Classification: Platform
Component: Backend: X11
2.12.x
Other All
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2009-08-14 16:57 UTC by Alejandro
Modified: 2011-12-30 06:38 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Alejandro 2009-08-14 16:57:31 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:
Comment 1 Emmanuele Bassi (:ebassi) 2009-08-14 17:25:20 UTC
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.
Comment 2 Matthias Clasen 2011-12-30 06:38:25 UTC

*** This bug has been marked as a duplicate of bug 425995 ***