summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2011-03-14 10:17:35 +0000
committerJonny Lamb <jonny.lamb@collabora.co.uk>2011-03-14 10:17:35 +0000
commit92bda0a09cf5b9fd282b6a63171d01fd0f6c7351 (patch)
tree25e3756afc7f1c83369610e1f81fd0fff5613561
parentd87861c3af468b1a66b862c69b8f09ab677169c8 (diff)
ll-connection-factory: check whether the cancellable has been cancelled
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r--wocky/wocky-ll-connection-factory.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/wocky/wocky-ll-connection-factory.c b/wocky/wocky-ll-connection-factory.c
index e123445..6636fdf 100644
--- a/wocky/wocky-ll-connection-factory.c
+++ b/wocky/wocky-ll-connection-factory.c
@@ -163,6 +163,16 @@ process_one_address (NewConnectionData *data)
GInetSocketAddress *addr;
gchar *host;
+ if (g_cancellable_is_cancelled (data->cancellable))
+ {
+ GError *error = g_error_new (G_IO_ERROR,
+ G_IO_ERROR_CANCELLED, "Operation cancelled");
+ g_simple_async_result_take_error (data->simple, error);
+ g_simple_async_result_complete (data->simple);
+ free_new_connection_data (data);
+ return;
+ }
+
/* check we haven't gotten to the end of the list */
if (data->addr_ptr == NULL)
{