[glib] Fix deadlock in threaded resolver
- From: Alexander Larsson <alexl src gnome org>
- To: svn-commits-list gnome org
- Subject: [glib] Fix deadlock in threaded resolver
- Date: Fri, 15 May 2009 04:09:30 -0400 (EDT)
commit a258ec3b5bf0a0b2ab1cb1dce8ce715c3895bdaa
Author: Alexander Larsson <alexl redhat com>
Date: Fri May 15 10:05:55 2009 +0200
Fix deadlock in threaded resolver
When you're using the threaded resolver and using a sync call
without a cancellable the resolve_sync forgot to unlock the
initial req->mutex lock, leading to a deadlock when unrefing
the request.
---
gio/gthreadedresolver.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/gio/gthreadedresolver.c b/gio/gthreadedresolver.c
index 6732612..c259b57 100644
--- a/gio/gthreadedresolver.c
+++ b/gio/gthreadedresolver.c
@@ -319,6 +319,7 @@ resolve_sync (GThreadedResolver *gtr,
if (!req->cancellable || !gtr->thread_pool)
{
req->resolve_func (req, error);
+ g_mutex_unlock (req->mutex);
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]