summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2015-10-14 11:02:27 +0200
committerMilan Crha <mcrha@redhat.com>2015-10-14 11:04:14 +0200
commit929e5e20c90da79c143b9e53e1d80a96683103ec (patch)
tree0676f1e2a9f2a047edfa0f87cd18c4c4c4edc3f4
parentaff69d859853e79f776e1e62186f4a38252c5e37 (diff)
downloadevolution-data-server-929e5e20c90da79c143b9e53e1d80a96683103ec.tar.gz
Bug 756530 - Deadlock in e_backend_set_online()
-rw-r--r--libebackend/e-backend.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libebackend/e-backend.c b/libebackend/e-backend.c
index 332b5283e..1369e102e 100644
--- a/libebackend/e-backend.c
+++ b/libebackend/e-backend.c
@@ -162,6 +162,9 @@ backend_update_online_state_timeout_cb (gpointer user_data)
}
if (connectable == NULL) {
+ backend->priv->network_monitor_cancellable = cancellable;
+ g_mutex_unlock (&backend->priv->network_monitor_cancellable_lock);
+
e_backend_set_online (backend, TRUE);
} else {
cancellable = g_cancellable_new ();
@@ -171,11 +174,10 @@ backend_update_online_state_timeout_cb (gpointer user_data)
connectable, cancellable,
backend_network_monitor_can_reach_cb,
g_object_ref (backend));
- }
-
- backend->priv->network_monitor_cancellable = cancellable;
- g_mutex_unlock (&backend->priv->network_monitor_cancellable_lock);
+ backend->priv->network_monitor_cancellable = cancellable;
+ g_mutex_unlock (&backend->priv->network_monitor_cancellable_lock);
+ }
if (connectable != NULL)
g_object_unref (connectable);