[libsoup] SoupSession: Handle CONNECT failure without hanging
- From: Dan Winship <danw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libsoup] SoupSession: Handle CONNECT failure without hanging
- Date: Sat, 19 Dec 2009 14:19:19 +0000 (UTC)
commit 3fe50a83f8e5aefed3ca2355b2070435b6ca7387
Author: Dan Winship <danw gnome org>
Date: Sat Dec 19 15:14:00 2009 +0100
SoupSession: Handle CONNECT failure without hanging
https://bugzilla.gnome.org/show_bug.cgi?id=587528
libsoup/soup-session.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index c6d8765..2b13228 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -1230,10 +1230,14 @@ soup_session_connection_failed (SoupSession *session,
g_mutex_lock (priv->host_lock);
host = g_hash_table_lookup (priv->conns, conn);
g_mutex_unlock (priv->host_lock);
- if (!host)
- return;
- connection_disconnected (conn, session);
+ if (host)
+ connection_disconnected (conn, session);
+ else {
+ host = g_object_get_data (G_OBJECT (conn), "SoupSessionHost");
+ if (!host)
+ return;
+ }
/* Cancel any other messages waiting for a connection to it,
* since they're out of luck.
@@ -1408,6 +1412,7 @@ soup_session_get_connection (SoupSession *session,
SOUP_CONNECTION_TIMEOUT, priv->io_timeout,
SOUP_CONNECTION_IDLE_TIMEOUT, priv->idle_timeout,
NULL);
+ g_object_set_data (G_OBJECT (conn), "SoupSessionHost", host);
g_signal_connect (conn, "disconnected",
G_CALLBACK (connection_disconnected),
session);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]