From ee5a9fa24619e3c1fe63be75bc7578a12bfe7b76 Mon Sep 17 00:00:00 2001 From: Antoine Jacoutot Date: Thu, 26 Dec 2013 11:03:45 +0100 Subject: [PATCH] kqueue: fix a potential deadlock 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 | 1 + 1 file changed, 1 insertion(+) diff --git a/gio/kqueue/kqueue-missing.c b/gio/kqueue/kqueue-missing.c index 9ea3c3efd..9decdc937 100644 --- 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; }