diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2007-01-18 01:26:58 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2007-01-18 01:26:58 +0000 |
commit | f629a4f00fb0ff766cba2194d9a408ddee6699cf (patch) | |
tree | f17d56d4917f5ced219697059eed051e459ecc82 /riscos | |
parent | 75526f77b79b04f9595332b1b86e1cde145ffa95 (diff) | |
download | netsurf-f629a4f00fb0ff766cba2194d9a408ddee6699cf.tar.gz netsurf-f629a4f00fb0ff766cba2194d9a408ddee6699cf.tar.bz2 |
Revert hack around broken pipe (not caching fetch handles used for SSL
connections).
Ignore SIGPIPE completely as nothing other than OpenSSL is expected to
generate it.
svn path=/trunk/netsurf/; revision=3145
Diffstat (limited to 'riscos')
-rw-r--r-- | riscos/gui.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/riscos/gui.c b/riscos/gui.c index 0190e3703..28eaa8c3e 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -372,6 +372,13 @@ 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 || |