From 4fdc39dde80fc80d511b7101d15ecc0be77a73a3 Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Mon, 8 Apr 2002 07:34:17 +0000 Subject: [PATCH] Allow panic_action to be configured through environment variable RSYNC_PANIC_ACTION. --- main.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index b946e754..254d9d57 100644 --- a/main.c +++ b/main.c @@ -816,13 +816,24 @@ static RETSIGTYPE sigchld_handler(int UNUSED(val)) { * Solaris?) Can we be more portable? **/ #ifdef MAINTAINER_MODE +const char *get_panic_action(void) +{ + const char *cmd_fmt = getenv("RSYNC_PANIC_ACTION"); + + if (cmd_fmt) + return cmd_fmt; + else + return "xterm -display :0 -T Panic -n Panic " + "-e gdb /proc/%d/exe %d"; +} + + static RETSIGTYPE rsync_panic_handler(int UNUSED(whatsig)) { char cmd_buf[300]; int ret; - sprintf(cmd_buf, - "xterm -display :0 -T Panic -n Panic " - "-e gdb /proc/%d/exe %d", + + sprintf(cmd_buf, get_panic_action(), getpid(), getpid()); /* Unless we failed to execute gdb, we allow the process to -- 2.34.1