summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stefw@gnome.org>2012-09-18 17:14:59 +0200
committerStef Walter <stefw@gnome.org>2012-09-18 17:14:59 +0200
commit5cc525ed768527b05ab13efa24f55dd5e91df8af (patch)
treec5050d1c9adf74e1ba8612c86620c39cb5f3e321
parentfe323e5e90c7d3f8fe5fe8d8f0144e3ec4088669 (diff)
downloadgnome-keyring-gnome-2-28.tar.gz
daemon: Uncoditionally wakeup the main loop when lockinggnome-2-28
* Fix occasional deadlock in gnome-keyring wher a thread leaves concurrent mode, grabs the big lock, but the main loop doesn't wake up.
-rw-r--r--daemon/util/gkr-daemon-async.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/daemon/util/gkr-daemon-async.c b/daemon/util/gkr-daemon-async.c
index ce25ca56..be2f447d 100644
--- a/daemon/util/gkr-daemon-async.c
+++ b/daemon/util/gkr-daemon-async.c
@@ -41,7 +41,7 @@
#define DO_LOCK(mtx) G_STMT_START { \
g_printerr ("%s LOCK %s\n", __func__, G_STRINGIFY(mtx)); \
g_atomic_int_inc (&waiting_on_lock); \
- if (g_atomic_int_get (&waiting_on_poll)) g_main_context_wakeup (main_ctx); \
+ g_main_context_wakeup (main_ctx); \
g_mutex_lock (mtx); \
g_atomic_int_add (&waiting_on_lock, -1); \
} G_STMT_END
@@ -52,7 +52,7 @@
#else
#define DO_LOCK(mtx) G_STMT_START { \
g_atomic_int_inc (&waiting_on_lock); \
- if (g_atomic_int_get (&waiting_on_poll)) g_main_context_wakeup (main_ctx); \
+ g_main_context_wakeup (main_ctx); \
g_mutex_lock (mtx); \
g_atomic_int_add (&waiting_on_lock, -1); \
} G_STMT_END