summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2011-03-23 10:23:31 +0000
committerLiong Sauw Ming <ming@teluu.com>2011-03-23 10:23:31 +0000
commit4d29521bb80fc01db6cadcb6c02f999bf3461425 (patch)
treea973997ea598067581ad2c23d78f7d696fd870a8
parent05b795fa881f37772210bf24e26412eba1d03c96 (diff)
Re #1221: Move setting the socket option to pjlib level (sock_bsd) instead of in the SIP transport.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3480 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib/src/pj/sock_bsd.c6
-rw-r--r--pjsip/src/pjsip/sip_transport_tcp.c5
-rw-r--r--pjsip/src/pjsip/sip_transport_tls.c5
-rw-r--r--pjsip/src/pjsip/sip_transport_tls_ossl.c5
4 files changed, 5 insertions, 16 deletions
diff --git a/pjlib/src/pj/sock_bsd.c b/pjlib/src/pj/sock_bsd.c
index 4dbdc5c6..4150c270 100644
--- a/pjlib/src/pj/sock_bsd.c
+++ b/pjlib/src/pj/sock_bsd.c
@@ -549,9 +549,13 @@ PJ_DEF(pj_status_t) pj_sock_socket(int af,
if (*sock == PJ_INVALID_SOCKET)
return PJ_RETURN_OS_ERROR(pj_get_native_netos_error());
else {
+ pj_int32_t val = 1;
+ if (type == pj_SOCK_STREAM()) {
+ pj_sock_setsockopt(sock, pj_SOL_SOCKET(), pj_SO_NOSIGPIPE(),
+ &val, sizeof(val));
+ }
#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \
PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0
- pj_int32_t val = 1;
if (type == pj_SOCK_DGRAM()) {
pj_sock_setsockopt(*sock, pj_SOL_SOCKET(), SO_NOSIGPIPE,
&val, sizeof(val));
diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c
index 43c82ae8..1ad8fedc 100644
--- a/pjsip/src/pjsip/sip_transport_tcp.c
+++ b/pjsip/src/pjsip/sip_transport_tcp.c
@@ -544,7 +544,6 @@ static pj_status_t tcp_create( struct tcp_listener *listener,
pj_activesock_cfg asock_cfg;
pj_activesock_cb tcp_callback;
const pj_str_t ka_pkt = PJSIP_TCP_KEEP_ALIVE_DATA;
- pj_int32_t val = 1;
pj_status_t status;
@@ -632,10 +631,6 @@ static pj_status_t tcp_create( struct tcp_listener *listener,
tcp->ka_timer.cb = &tcp_keep_alive_timer;
pj_ioqueue_op_key_init(&tcp->ka_op_key.key, sizeof(pj_ioqueue_op_key_t));
pj_strdup(tcp->base.pool, &tcp->ka_pkt, &ka_pkt);
-
- /* Prevent SIGPIPE */
- pj_sock_setsockopt(tcp->sock, pj_SOL_SOCKET(), pj_SO_NOSIGPIPE(),
- &val, sizeof(val));
/* Done setting up basic transport. */
*p_tcp = tcp;
diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c
index 8e46f58d..047c7ab0 100644
--- a/pjsip/src/pjsip/sip_transport_tls.c
+++ b/pjsip/src/pjsip/sip_transport_tls.c
@@ -527,7 +527,6 @@ static pj_status_t tls_create( struct tls_listener *listener,
{
struct tls_transport *tls;
const pj_str_t ka_pkt = PJSIP_TLS_KEEP_ALIVE_DATA;
- pj_int32_t val = 1;
pj_status_t status;
@@ -616,10 +615,6 @@ static pj_status_t tls_create( struct tls_listener *listener,
tls->ka_timer.cb = &tls_keep_alive_timer;
pj_ioqueue_op_key_init(&tls->ka_op_key.key, sizeof(pj_ioqueue_op_key_t));
pj_strdup(tls->base.pool, &tls->ka_pkt, &ka_pkt);
-
- /* Prevent SIGPIPE */
- pj_sock_setsockopt(tls->sock, pj_SOL_SOCKET(), pj_SO_NOSIGPIPE(),
- &val, sizeof(val));
/* Done setting up basic transport. */
*p_tls = tls;
diff --git a/pjsip/src/pjsip/sip_transport_tls_ossl.c b/pjsip/src/pjsip/sip_transport_tls_ossl.c
index 10bc0efb..d652b0be 100644
--- a/pjsip/src/pjsip/sip_transport_tls_ossl.c
+++ b/pjsip/src/pjsip/sip_transport_tls_ossl.c
@@ -1229,7 +1229,6 @@ static pj_status_t tls_create( struct tls_listener *listener,
pj_ioqueue_t *ioqueue;
pj_ioqueue_callback tls_callback;
int rc;
- pj_int32_t val = 1;
pj_status_t status;
@@ -1333,10 +1332,6 @@ static pj_status_t tls_create( struct tls_listener *listener,
tls->ka_timer.user_data = (void*) tls;
tls->ka_timer.cb = &tls_keep_alive_timer;
- /* Prevent SIGPIPE */
- pj_sock_setsockopt(tls->sock, pj_SOL_SOCKET(), pj_SO_NOSIGPIPE(),
- &val, sizeof(val));
-
/* Done setting up basic transport. */
*p_tls = tls;