This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository enlightenment.
View the commit online.
commit 1603e85453b5e22f42153e27fd026d46c2958fa7
Author: Carsten Haitzler <ras...@rasterman.com>
AuthorDate: Tue Oct 15 13:18:49 2024 +0100
watchdog - allow for wd to get a bt and not restart with magic file
touch ~/.e/e/watchdog-crash
now watchdog will crash and not restart (can still restart from guru
though). rm that file to go back to restart behavior
---
src/bin/e_watchdog.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/bin/e_watchdog.c b/src/bin/e_watchdog.c
index 5e35e6d19..210381733 100644
--- a/src/bin/e_watchdog.c
+++ b/src/bin/e_watchdog.c
@@ -35,9 +35,23 @@ _cb_watchdog_thread_pingpong(void *data EINA_UNUSED, Ecore_Thread *thread)
// wait for ping from mainloop upto 10 sec
if (ecore_pipe_wait(_watchdog_pipe, 1, 10.0) < 1)
{
+ char buf[PATH_MAX];
+
printf("WD: Enlightenment main loop hung. No response to ping for 10sec\n");
// do hard-exit as cleanup isnt doable
- _exit(121);
+ e_user_dir_concat_static(buf, "/watchdog-crash");
+ // if ~/.e/e/watchdog-crash then crash (segv)
+ if (ecore_file_exists(buf))
+ {
+ printf("WD: Forcing a SEGV crash to get a backtracxe - see ~/.e-crashdump.txt\n");
+ kill(getpid(), SIGSEGV);
+ }
+ // otherwise just restart so user can march on
+ else
+ {
+ printf("WD: Exikting E allowing it to be restarted to un-block\n");
+ _exit(121);
+ }
}
// wait another 10 sec before pinging
sleep(10);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.