projects
/
platform
/
upstream
/
glib.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f3c9b17
)
kqueue: fix a potential deadlock
author
Antoine Jacoutot
<ajacoutot@gnome.org>
Thu, 26 Dec 2013 10:03:45 +0000
(11:03 +0100)
committer
Antoine Jacoutot
<ajacoutot@gnome.org>
Thu, 26 Dec 2013 18:57:44 +0000
(19:57 +0100)
In case an object is already monitored, we lock then return without
unlocking it which can then result in a self deadlock. So properly
unlock before returning.
https://bugzilla.gnome.org/show_bug.cgi?id=721074
gio/kqueue/kqueue-missing.c
patch
|
blob
|
history
diff --git
a/gio/kqueue/kqueue-missing.c
b/gio/kqueue/kqueue-missing.c
index 9ea3c3efdb45ae478f57d71f914e755d73d2b8b0..9decdc937d9ab6d9221eb19bb6f7a946b1b75d25 100644
(file)
--- a/
gio/kqueue/kqueue-missing.c
+++ b/
gio/kqueue/kqueue-missing.c
@@
-68,6
+68,7
@@
_km_add_missing (kqueue_sub *sub)
if (g_slist_find (missing_subs_list, sub))
{
KM_W ("asked to add %s to missing list but it's already on the list!\n", sub->filename);
+ G_UNLOCK (missing_lock);
return;
}