summaryrefslogtreecommitdiff
path: root/pjlib/src
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2012-06-19 07:40:19 +0000
committerBenny Prijono <bennylp@teluu.com>2012-06-19 07:40:19 +0000
commit1d5dfcaf93a6cf74e0f417e5ce8adf52d8d126a4 (patch)
treefc1a112cbccc5d6289a425a967749554af8a238a /pjlib/src
parent4e6dd6baa89f383b3895cb3a481b092c8d52f3c4 (diff)
Fixed #1538: Suppress SIGPIPE for broken TCP connection on Linux (thanks Mike Evans for the suggestion)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4170 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/src')
-rw-r--r--pjlib/src/pj/sock_bsd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/pjlib/src/pj/sock_bsd.c b/pjlib/src/pj/sock_bsd.c
index 9bd0356f..e3afcad5 100644
--- a/pjlib/src/pj/sock_bsd.c
+++ b/pjlib/src/pj/sock_bsd.c
@@ -654,6 +654,11 @@ PJ_DEF(pj_status_t) pj_sock_send(pj_sock_t sock,
PJ_CHECK_STACK();
PJ_ASSERT_RETURN(len, PJ_EINVAL);
+#ifdef MSG_NOSIGNAL
+ /* Suppress SIGPIPE. See https://trac.pjsip.org/repos/ticket/1538 */
+ flags |= MSG_NOSIGNAL;
+#endif
+
*len = send(sock, (const char*)buf, *len, flags);
if (*len < 0)