[gnome-session] gsm: Consider that a required component that exits with 1 has crashed



commit c6e23f8783d229fbd0f845427f9c9c1965a03924
Author: Vincent Untz <vuntz gnome org>
Date:   Fri Mar 23 17:05:09 2012 +0100

    gsm: Consider that a required component that exits with 1 has crashed
    
    This way, we will attempt to restart it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=672419

 gnome-session/gsm-manager.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index d6048d7..c9b18ba 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -661,7 +661,18 @@ app_exited (GsmApp     *app,
 {
         g_debug ("App %s exited with %d", gsm_app_peek_app_id (app), exit_code);
 
-        app_event_during_startup (manager, app);
+        /* Consider that "exit = 1" means "crash" for required components */
+        if (exit_code == 1 && is_app_required (manager, app)) {
+                if (gsm_app_peek_autorestart (app)) {
+                        g_debug ("Component '%s' is autorestart, ignoring exited(1) signal",
+                                 gsm_app_peek_app_id (app));
+                        return;
+                }
+
+                _restart_app (manager, app);
+        } else {
+                app_event_during_startup (manager, app);
+        }
 }
 
 static void



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