curl: ignore SIGPIPE
authorDaniel Stenberg <daniel@haxx.se>
Tue, 8 Jan 2013 22:10:26 +0000 (23:10 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 8 Jan 2013 22:14:01 +0000 (23:14 +0100)
This is a work-around for bug #1180 which is really libcurl's inability
to ignore SIGPIPE in a few cases. With this work-around at least curl
won't suffer from it!

Bug: http://curl.haxx.se/bug/view.cgi?id=1180
Reported by: LluĂ­s Batlle i Rossell

src/tool_main.c

index 9c0a19f..ec65176 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
 
 #include <sys/stat.h>
 
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
 #define ENABLE_CURLX_PRINTF
 /* use our own printf() functions */
 #include "curlx.h"
@@ -83,6 +87,10 @@ int main(int argc, char *argv[])
 
   main_checkfds();
 
+#ifdef HAVE_SIGNAL
+  signal(SIGPIPE, SIG_IGN);
+#endif
+
   res = operate(&config, argc, argv);
 
 #ifdef __SYMBIAN32__