[evolution-data-server/gnome-3-18] Bug 756530 - Deadlock in e_backend_set_online()



commit 929e5e20c90da79c143b9e53e1d80a96683103ec
Author: Milan Crha <mcrha redhat com>
Date:   Wed Oct 14 11:02:27 2015 +0200

    Bug 756530 - Deadlock in e_backend_set_online()

 libebackend/e-backend.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/libebackend/e-backend.c b/libebackend/e-backend.c
index 332b528..1369e10 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);


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