diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fluxbox.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index ff44e9f..8260897 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -289,13 +289,16 @@ Fluxbox::Fluxbox(int argc, char **argv, | |||
289 | SignalHandler &sigh = SignalHandler::instance(); | 289 | SignalHandler &sigh = SignalHandler::instance(); |
290 | sigh.registerHandler(SIGSEGV, this); | 290 | sigh.registerHandler(SIGSEGV, this); |
291 | sigh.registerHandler(SIGFPE, this); | 291 | sigh.registerHandler(SIGFPE, this); |
292 | sigh.registerHandler(SIGPIPE, this); // e.g. output sent to grep | ||
293 | sigh.registerHandler(SIGTERM, this); | 292 | sigh.registerHandler(SIGTERM, this); |
294 | sigh.registerHandler(SIGINT, this); | 293 | sigh.registerHandler(SIGINT, this); |
294 | #ifndef _WIN32 | ||
295 | sigh.registerHandler(SIGPIPE, this); // e.g. output sent to grep | ||
295 | sigh.registerHandler(SIGCHLD, this); | 296 | sigh.registerHandler(SIGCHLD, this); |
296 | sigh.registerHandler(SIGHUP, this); | 297 | sigh.registerHandler(SIGHUP, this); |
297 | sigh.registerHandler(SIGUSR1, this); | 298 | sigh.registerHandler(SIGUSR1, this); |
298 | sigh.registerHandler(SIGUSR2, this); | 299 | sigh.registerHandler(SIGUSR2, this); |
300 | #endif | ||
301 | |||
299 | // | 302 | // |
300 | // setup timer | 303 | // setup timer |
301 | // This timer is used to we can issue a safe reconfig command. | 304 | // This timer is used to we can issue a safe reconfig command. |
@@ -891,6 +894,7 @@ void Fluxbox::handleSignal(int signum) { | |||
891 | static int re_enter = 0; | 894 | static int re_enter = 0; |
892 | 895 | ||
893 | switch (signum) { | 896 | switch (signum) { |
897 | #ifndef _WIN32 | ||
894 | case SIGCHLD: // we don't want the child process to kill us | 898 | case SIGCHLD: // we don't want the child process to kill us |
895 | // more than one process may have terminated | 899 | // more than one process may have terminated |
896 | while (waitpid(-1, 0, WNOHANG | WUNTRACED) > 0); | 900 | while (waitpid(-1, 0, WNOHANG | WUNTRACED) > 0); |
@@ -904,12 +908,15 @@ void Fluxbox::handleSignal(int signum) { | |||
904 | case SIGUSR2: | 908 | case SIGUSR2: |
905 | reconfigure(); | 909 | reconfigure(); |
906 | break; | 910 | break; |
911 | #endif | ||
907 | case SIGSEGV: | 912 | case SIGSEGV: |
908 | abort(); | 913 | abort(); |
909 | break; | 914 | break; |
910 | case SIGFPE: | 915 | case SIGFPE: |
911 | case SIGINT: | 916 | case SIGINT: |
917 | #ifndef _WIN32 | ||
912 | case SIGPIPE: | 918 | case SIGPIPE: |
919 | #endif | ||
913 | case SIGTERM: | 920 | case SIGTERM: |
914 | shutdown(); | 921 | shutdown(); |
915 | break; | 922 | break; |