[gnome-online-accounts/wip/rishi/gtask2: 10/13] httpclient: Add a comment
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-online-accounts/wip/rishi/gtask2: 10/13] httpclient: Add a comment
- Date: Mon, 9 Jan 2017 19:03:16 +0000 (UTC)
commit d0336a054c742a6b45848e0f8e775490f56e0433
Author: Debarshi Ray <debarshir gnome org>
Date: Mon Jan 9 18:18:23 2017 +0100
httpclient: Add a comment
https://bugzilla.gnome.org/show_bug.cgi?id=764157
src/goabackend/goahttpclient.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/src/goabackend/goahttpclient.c b/src/goabackend/goahttpclient.c
index 32eb1c0..d6a1611 100644
--- a/src/goabackend/goahttpclient.c
+++ b/src/goabackend/goahttpclient.c
@@ -206,6 +206,12 @@ http_client_check_response_cb (SoupSession *session, SoupMessage *msg, gpointer
if (error != NULL)
g_simple_async_result_take_error (data->res, error);
+ /* We might be invoked from a GCancellable::cancelled
+ * handler, and freeing CheckData will disconnect the handler. Since
+ * disconnecting from inside the handler will cause a deadlock, we
+ * use an idle handler to break them up.
+ */
+
source = g_idle_source_new ();
g_source_set_priority (source, G_PRIORITY_DEFAULT_IDLE);
g_source_set_callback (source, http_client_check_complete_and_free_in_idle, data, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]