summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-27 19:29:14 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-09-27 19:29:14 +0100
commit6d8a1bd3fe9f66ebb749350882851d7247fc2eaa (patch)
tree65d43bc7ef5fe19b0c1bb2b1263e732c461fd99b
parentfed69a7380a28aef8f00509c55ad35e477af13ca (diff)
downloadenlightenment-6d8a1bd3fe9f66ebb749350882851d7247fc2eaa.tar.gz
kill e process before alert in non-x uses
-rw-r--r--TODO2
-rw-r--r--src/bin/e_start_main.c14
2 files changed, 11 insertions, 5 deletions
diff --git a/TODO b/TODO
index dfa52b8730..6e236ad0f6 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 6a762b75ab..ff94d56fa2 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;
}