Commit 58c9323e authored by Ray Strode's avatar Ray Strode

manager: don't wait for all clients to exit before exiting

If a client gets hung up, we shouldn't hold up going to login screen.
It means making a bug in a single client break the desktop.

https://bugzilla.gnome.org/show_bug.cgi?id=750508
parent 58ce163d
......@@ -681,15 +681,6 @@ app_registered (GsmApp *app,
app_event_during_startup (manager, app);
}
static gboolean
_client_failed_to_stop (const char *id,
GsmClient *client,
gpointer user_data)
{
g_debug ("GsmManager: client failed to stop: %s, %s", gsm_client_peek_id (client), gsm_client_peek_app_id (client));
return FALSE;
}
static gboolean
on_phase_timeout (GsmManager *manager)
{
......@@ -721,9 +712,6 @@ on_phase_timeout (GsmManager *manager)
case GSM_MANAGER_PHASE_END_SESSION:
break;
case GSM_MANAGER_PHASE_EXIT:
gsm_store_foreach (manager->priv->clients,
(GsmStoreFunc)_client_failed_to_stop,
NULL);
break;
default:
g_assert_not_reached ();
......@@ -951,16 +939,12 @@ static void
do_phase_exit (GsmManager *manager)
{
if (gsm_store_size (manager->priv->clients) > 0) {
manager->priv->phase_timeout_id = g_timeout_add_seconds (GSM_MANAGER_PHASE_TIMEOUT,
(GSourceFunc)on_phase_timeout,
manager);
gsm_store_foreach (manager->priv->clients,
(GsmStoreFunc)_client_stop,
NULL);
} else {
end_phase (manager);
}
end_phase (manager);
}
static gboolean
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment