bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/misc/entrance.git/commit/?id=d7d7f89d231ef349c06cd817004891bf06c58b8e

commit d7d7f89d231ef349c06cd817004891bf06c58b8e
Author: Marcel Hollerbach <[email protected]>
Date:   Thu Feb 6 11:30:27 2014 +0100

    Revert my last commit & make entrance quit in any way
---
 src/daemon/entrance.c      | 22 +++++++++++++---------
 src/daemon/entrance_wait.c | 18 +++---------------
 2 files changed, 16 insertions(+), 24 deletions(-)

diff --git a/src/daemon/entrance.c b/src/daemon/entrance.c
index 6513a87..b3dfc95 100644
--- a/src/daemon/entrance.c
+++ b/src/daemon/entrance.c
@@ -317,23 +317,27 @@ main (int argc, char ** argv)
    entrance_user = getenv("ENTRANCE_USER");
    if (entrance_user)
      {
-        char *quit;
+        char *quit, *x_pid_char;
         entrance_session_init(dname);
         entrance_session_end(entrance_user);
         entrance_session_shutdown();
-        sleep(2);
-        entrance_xserver_end();
         quit = getenv("ENTRANCE_QUIT");
         if (quit)
           {
              unsetenv("ENTRANCE_QUIT");
-             _remove_lock();
-             entrance_config_shutdown();
-             PT("Bye, see you.\n\n");
-             entrance_close_log();
-             exit(0);
+             PT("Last DE Session quit with error!\n");
           }
-        PT("Nice to see you again. Entrance will restart.\n");
+        PT("ending xserver\n");
+        x_pid_char = getenv("ENTRANCE_XPID");
+        if (x_pid_char) 
+          kill(atoi(x_pid_char), SIGTERM);
+        else
+          PT("No Xserver found, Strange!\n");
+        entrance_xserver_end();
+        _remove_lock();
+        PT("Entrance will quit, bye bye :).\n");
+        entrance_close_log();
+        exit(1);
      }
    PT("Welcome\n");
    ecore_init();
diff --git a/src/daemon/entrance_wait.c b/src/daemon/entrance_wait.c
index 603a06d..a15e167 100644
--- a/src/daemon/entrance_wait.c
+++ b/src/daemon/entrance_wait.c
@@ -1,6 +1,5 @@
 #include <sys/wait.h>
 #include <stdlib.h>
-#include <stdio.h>
 #include <unistd.h>
 #include <errno.h>
 
@@ -32,15 +31,13 @@ int
 main (int argc __UNUSED__, char **argv __UNUSED__)
 {
    int status = 0;
-   char *pid, *exit_policy;
+   char *pid;
    struct sigaction action;
 
    pid_t rpid;
    pid = getenv("ENTRANCE_XPID");
    if (!pid) return -1;
    _x_pid = atoi(pid);
-   
-   exit_policy = getenv("ENTRANCE_FAST_QUIT");
 
    action.sa_sigaction = _entrance_wait_action;
    action.sa_flags = SA_RESTART | SA_SIGINFO;
@@ -64,17 +61,8 @@ main (int argc __UNUSED__, char **argv __UNUSED__)
      }
    if (_x_pid == rpid)
      {
-        if (exit_policy)
-          {
-             setenv("ENTRANCE_QUIT", "1", 1);
-          }
-        else
-          {
-             if ( WIFEXITED(status) && WEXITSTATUS(status))
-               {
-                  setenv("ENTRANCE_QUIT", "1", 1);
-               }
-          }
+        if (WIFEXITED(status) && WEXITSTATUS(status))
+          setenv("ENTRANCE_QUIT", "1", 1);
         execlp(PACKAGE_SBIN_DIR"/entrance", PACKAGE_SBIN_DIR"/entrance", 
"--nodaemon", NULL);
      }
    return -1;

-- 


Reply via email to