summaryrefslogtreecommitdiff
path: root/debian/patches/fix-sighandler-return-code.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/fix-sighandler-return-code.patch')
-rw-r--r--debian/patches/fix-sighandler-return-code.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/debian/patches/fix-sighandler-return-code.patch b/debian/patches/fix-sighandler-return-code.patch
deleted file mode 100644
index 5f40062..0000000
--- a/debian/patches/fix-sighandler-return-code.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Description: this fixes the return code when signals are caught
- For better support of systemd the return value should reflect the
- caught signal.
- .
- tcpproxy (1.1-4) unstable; urgency=medium
- .
- * added systemd service file
-Author: Christian Pointner <equinox@spreadspace.org>
-
-Index: tcpproxy/src/sig_handler.c
-===================================================================
---- tcpproxy.orig/src/sig_handler.c
-+++ tcpproxy/src/sig_handler.c
-@@ -116,12 +116,12 @@ int signal_handle()
- for(sig=1; sig < NSIG; ++sig) {
- if(sigismember(&set, sig)) {
- switch(sig) {
-- case SIGINT: log_printf(NOTICE, "SIG-Int caught, exitting"); return_value = 1; break;
-- case SIGQUIT: log_printf(NOTICE, "SIG-Quit caught, exitting"); return_value = 1; break;
-- case SIGTERM: log_printf(NOTICE, "SIG-Term caught, exitting"); return_value = 1; break;
-- case SIGHUP: log_printf(NOTICE, "SIG-Hup caught"); return_value = 2; break;
-- case SIGUSR1: log_printf(NOTICE, "SIG-Usr1 caught"); return_value = 3; break;
-- case SIGUSR2: log_printf(NOTICE, "SIG-Usr2 caught"); return_value = 4; break;
-+ case SIGINT: log_printf(NOTICE, "SIG-Int caught, exitting"); return_value = SIGINT; break;
-+ case SIGQUIT: log_printf(NOTICE, "SIG-Quit caught, exitting"); return_value = SIGQUIT; break;
-+ case SIGTERM: log_printf(NOTICE, "SIG-Term caught, exitting"); return_value = SIGTERM; break;
-+ case SIGHUP: log_printf(NOTICE, "SIG-Hup caught"); return_value = SIGHUP; break;
-+ case SIGUSR1: log_printf(NOTICE, "SIG-Usr1 caught"); return_value = SIGUSR1; break;
-+ case SIGUSR2: log_printf(NOTICE, "SIG-Usr2 caught"); return_value = SIGUSR2; break;
- default: log_printf(WARNING, "unknown signal %d caught, ignoring", sig); break;
- }
- sigdelset(&set, sig);
-Index: tcpproxy/src/tcpproxy.c
-===================================================================
---- tcpproxy.orig/src/tcpproxy.c
-+++ tcpproxy/src/tcpproxy.c
-@@ -30,6 +30,9 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/select.h>
-+#include <sys/types.h>
-+#include <unistd.h>
-+#include <signal.h>
-
- #include "datatypes.h"
- #include "options.h"
-@@ -73,8 +76,8 @@ int main_loop(options_t* opt, listeners_
-
- if(FD_ISSET(sig_fd, &readfds)) {
- return_value = signal_handle();
-- if(return_value == 1) break;
-- if(return_value == 2) {
-+ if(return_value == SIGINT || return_value == SIGQUIT || return_value == SIGTERM) break;
-+ if(return_value == SIGHUP) {
- if(opt->config_file_) {
- log_printf(NOTICE, "re-reading config file: %s", opt->config_file_);
- read_configfile(opt->config_file_, listeners);
-@@ -82,9 +85,9 @@ int main_loop(options_t* opt, listeners_
- log_printf(NOTICE, "ignoring SIGHUP: no config file specified");
-
- return_value = 0;
-- } else if(return_value == 3) {
-+ } else if(return_value == SIGUSR1) {
- listeners_print(listeners);
-- } else if(return_value == 4) {
-+ } else if(return_value == SIGUSR2) {
- clients_print(&clients);
- }
- }
-@@ -233,8 +236,10 @@ int main(int argc, char* argv[])
- log_printf(NOTICE, "normal shutdown");
- else if(ret < 0)
- log_printf(NOTICE, "shutdown after error");
-- else
-+ else {
- log_printf(NOTICE, "shutdown after signal");
-+ kill(getpid(), ret);
-+ }
-
- log_close();
-