diff options
Diffstat (limited to 'daemon/main.c')
-rw-r--r-- | daemon/main.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/daemon/main.c b/daemon/main.c index 5b8d66b2..26e14f55 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -215,7 +215,19 @@ bus_proxy_destroyed_cb (DBusGProxy *bus_proxy, g_object_unref (*managerp); *managerp = NULL; +#if __sun + /* + * This function is only called when the D-Bus Service exits. Calling + * this timeout function causes all GDM sessions to exit anyway. The + * timeout function just cauess GDM to act like it is starting again. + * Since SMF already takes care of restarting GDM on Solaris, and since + * using the timeout confuses SMF, just exit and let SMF take care of + * this. + */ + exit (-1); +#else g_timeout_add_seconds (3, (GSourceFunc)bus_reconnect, managerp); +#endif } static void |