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 /desktop/netsurf.c | |
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
Diffstat (limited to 'desktop/netsurf.c')
-rw-r--r-- | desktop/netsurf.c | 9 |
1 files changed, 9 insertions, 0 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 |