diff options
author | Liong Sauw Ming <ming@teluu.com> | 2011-03-23 10:23:31 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2011-03-23 10:23:31 +0000 |
commit | 4d29521bb80fc01db6cadcb6c02f999bf3461425 (patch) | |
tree | a973997ea598067581ad2c23d78f7d696fd870a8 | |
parent | 05b795fa881f37772210bf24e26412eba1d03c96 (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.c | 6 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport_tcp.c | 5 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport_tls.c | 5 | ||||
-rw-r--r-- | pjsip/src/pjsip/sip_transport_tls_ossl.c | 5 |
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; |