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.

Reply via email to