raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=6d8a1bd3fe9f66ebb749350882851d7247fc2eaa

commit 6d8a1bd3fe9f66ebb749350882851d7247fc2eaa
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Fri Sep 27 19:29:14 2019 +0100

    kill e process before alert in non-x uses
---
 TODO                   |  2 --
 src/bin/e_start_main.c | 14 +++++++++++---
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/TODO b/TODO
index dfa52b873..6e236ad0f 100644
--- a/TODO
+++ b/TODO
@@ -90,8 +90,6 @@ TODO:
    logging like tables, icons, timelines and graphs that can be output
    in text emulation and to screen - change eina log to go into here
    with eina_log_print_cb_set() )
-* crash alert: we have to kill e to get kms control which breaks gdb
-  * grab data then kill e then display results?
 * watchdog: add watchdog handling to e_start to detect a hung e
   * also detect if frames stop rendering but loop ok?
 * settings: config dialog redo and simplification
diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c
index 6a762b75a..ff94d56fa 100644
--- a/src/bin/e_start_main.c
+++ b/src/bin/e_start_main.c
@@ -762,14 +762,22 @@ not_done:
                   else
                     r = 0;
 
+                  /* kill e */
+                  if (!getenv("DISPLAY"))
+                    {
+                       kill(child, SIGKILL);
+                       usleep(500000);
+                    }
+
                   /* call e_alert */
                   r = _e_call_alert(child, sig, r, backtrace_str,
                                     remember_sigusr1);
                   free(backtrace_str);
 
-                  /* kill e */
-                  kill(child, SIGKILL);
-
+                  if (getenv("DISPLAY"))
+                    {
+                       kill(child, SIGKILL);
+                    }
                   if (WEXITSTATUS(r) == 1)
                     restart = EINA_FALSE;
                }

-- 


Reply via email to