[libsoup] soup-session: fix a deadlock when aborting a SoupSessionSync



commit 7afbc9dc94e36ede35f06a9269e2853c002f8f6f
Author: Dan Winship <danw gnome org>
Date:   Wed Jan 9 17:21:13 2013 -0500

    soup-session: fix a deadlock when aborting a SoupSessionSync
    
    We need to signal conn_cond when removing an item from the queue,
    since flush_queue() expects that... (and also, since in some cases,
    removing a message from the queue will allow another one to start).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=691399

 libsoup/soup-session.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 3b23846..c4abe1d 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -1422,6 +1422,7 @@ soup_session_unqueue_item (SoupSession          *session,
 	g_mutex_lock (&priv->conn_lock);
 	host = get_host_for_message (session, item->msg);
 	host->num_messages--;
+	g_cond_broadcast (&priv->conn_cond);
 	g_mutex_unlock (&priv->conn_lock);
 
 	/* g_signal_handlers_disconnect_by_func doesn't work if you



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