From c545061b505bae4fa918ae34a0d7ac8aff7e1929 Mon Sep 17 00:00:00 2001 From: Andrew Bettison Date: Wed, 25 Jul 2012 17:01:47 +0930 Subject: [PATCH] Add server.respawn_on_signal config option --- server.c | 14 +++++++++----- tests/rhizomeprotocol | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/server.c b/server.c index 6a16a34a..8f7b4cb4 100644 --- a/server.c +++ b/server.c @@ -35,6 +35,7 @@ char *exec_args[EXEC_NARGS + 1]; int exec_argc = 0; int serverMode=0; +int serverRespawnOnSignal = 0; int servalShutdown = 0; static int server_getpid = 0; @@ -175,13 +176,16 @@ int server(char *backing_file) } serverMode = 1; + serverRespawnOnSignal = confValueGetBoolean("server.respawn_on_signal", 0); /* Catch sigsegv and other crash signals so that we can relaunch ourselves */ - signal(SIGSEGV, signal_handler); - signal(SIGFPE, signal_handler); - signal(SIGILL, signal_handler); - signal(SIGBUS, signal_handler); - signal(SIGABRT, signal_handler); + if (serverRespawnOnSignal) { + signal(SIGSEGV, signal_handler); + signal(SIGFPE, signal_handler); + signal(SIGILL, signal_handler); + signal(SIGBUS, signal_handler); + signal(SIGABRT, signal_handler); + } /* Catch SIGHUP etc so that we can respond to requests to do things */ signal(SIGHUP, signal_handler); signal(SIGINT, signal_handler); diff --git a/tests/rhizomeprotocol b/tests/rhizomeprotocol index 0eedb0d6..6a37c334 100755 --- a/tests/rhizomeprotocol +++ b/tests/rhizomeprotocol @@ -44,6 +44,7 @@ configure_servald_server() { executeOk_servald config set debug.rhizome on executeOk_servald config set debug.rhizometx on executeOk_servald config set debug.rhizomerx on + executeOk_servald config set server.respawn_on_signal off executeOk_servald config set mdp.wifi.tick_ms 100 executeOk_servald config set mdp.selfannounce.ticks_per_full_address 1 executeOk_servald config set rhizome.fetch_interval_ms 100