[glib] kqueue: fix a potential deadlock



commit fb21c8eaab64301591a0e179a42ef25cbd793a6e
Author: Antoine Jacoutot <ajacoutot gnome org>
Date:   Thu Dec 26 11:03:45 2013 +0100

    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 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/gio/kqueue/kqueue-missing.c b/gio/kqueue/kqueue-missing.c
index 9ea3c3e..9decdc9 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;
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]