]> granicus.if.org Git - curl/commitdiff
sigpipe: if mbedTLS is used, ignore SIGPIPE
authorJeremie Rapin <j.rapin@overkiz.com>
Wed, 23 Jan 2019 14:35:46 +0000 (15:35 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 28 Jan 2019 11:03:33 +0000 (12:03 +0100)
mbedTLS doesn't have a sigpipe management. If a write/read occurs when
the remote closes the socket, the signal is raised and kills the
application.  Use the curl mecanisms fix this behavior.

Signed-off-by: Jeremie Rapin <j.rapin@overkiz.com>
Closes #3502

lib/sigpipe.h

index 800f9d3b4dd0353a5bec655306e334bfdccf9718..3960a139db7a4899abcc72ee497944804625132e 100644 (file)
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, 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
@@ -23,7 +23,8 @@
  ***************************************************************************/
 #include "curl_setup.h"
 
-#if defined(HAVE_SIGNAL_H) && defined(HAVE_SIGACTION) && defined(USE_OPENSSL)
+#if defined(HAVE_SIGNAL_H) && defined(HAVE_SIGACTION) &&        \
+  (defined(USE_OPENSSL) || defined(USE_MBEDTLS))
 #include <signal.h>
 
 struct sigpipe_ignore {