diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2007-10-31 15:39:55 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2007-10-31 15:39:55 +0000 |
commit | 6eeeee1778253dcd3a7783275377434238f855fe (patch) | |
tree | 1ce0a96821a063efa7fd818b24fee12945cc1324 | |
parent | d1bf94dc4d647f70139a086b976e5d7a57d79a1c (diff) | |
download | netsurf-6eeeee1778253dcd3a7783275377434238f855fe.tar.gz netsurf-6eeeee1778253dcd3a7783275377434238f855fe.tar.bz2 |
Ignore SIGPIPE on all platforms, not just RISC OS.
svn path=/trunk/netsurf/; revision=3638
-rw-r--r-- | desktop/netsurf.c | 9 | ||||
-rw-r--r-- | riscos/gui.c | 7 |
2 files changed, 9 insertions, 7 deletions
diff --git a/desktop/netsurf.c b/desktop/netsurf.c index eec131ad7..d90683be8 100644 --- a/desktop/netsurf.c +++ b/desktop/netsurf.c @@ -19,6 +19,7 @@ */ #include <locale.h> +#include <signal.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> @@ -76,6 +77,14 @@ void netsurf_init(int argc, char** argv) { struct utsname utsname; + /* Ignore SIGPIPE - this is necessary as OpenSSL can generate these + * and the default action is to terminate the app. There's no easy + * way of determining the cause of the SIGPIPE (other than using + * sigaction() and some mechanism for getting the file descriptor + * out of libcurl). However, we expect nothing else to generate a + * SIGPIPE, anyway, so may as well just ignore them all. */ + signal(SIGPIPE, SIG_IGN); + #if !(defined(__SVR4) && defined(__sun)) stdout = stderr; #endif diff --git a/riscos/gui.c b/riscos/gui.c index f1b5d3d7e..d8e80b6db 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -383,13 +383,6 @@ void gui_init(int argc, char** argv) prev_sigs.sigint = signal(SIGINT, ro_gui_signal); prev_sigs.sigsegv = signal(SIGSEGV, ro_gui_signal); prev_sigs.sigterm = signal(SIGTERM, ro_gui_signal); - /* Ignore SIGPIPE - this is necessary as OpenSSL can generate these - * and the default action is to terminate the app. There's no easy - * way of determining the cause of the SIGPIPE (other than using - * sigaction() and some mechanism for getting the file descriptor - * out of libcurl). However, we expect nothing else to generate a - * SIGPIPE, anyway, so may as well just ignore them all. */ - signal(SIGPIPE, SIG_IGN); if (prev_sigs.sigabrt == SIG_ERR || prev_sigs.sigfpe == SIG_ERR || prev_sigs.sigill == SIG_ERR || |