remove SO_LINGER in usrsctp library

This commit is contained in:
Sukchan Lee 2019-10-31 18:13:49 +09:00
parent 46f9e1369b
commit 29e8a68dea
2 changed files with 6 additions and 0 deletions

View File

@ -44,6 +44,7 @@ ogs_sock_t *s1ap_server(ogs_socknode_t *node)
#if HAVE_USRSCTP
sock = ogs_sctp_server(SOCK_SEQPACKET, node);
ogs_assert(sock);
usrsctp_set_non_blocking((struct socket *)sock, 1);
usrsctp_set_upcall((struct socket *)sock, usrsctp_recv_handler, NULL);
#else
sock = ogs_sctp_server(SOCK_STREAM, node);

View File

@ -45,13 +45,18 @@ ogs_sock_t *sgsap_client(mme_vlr_t *vlr)
ogs_socknode_sctp_option(&node, &ogs_config()->sockopt);
ogs_socknode_nodelay(&node, true);
#if 0 /* Try to remove LINGER in usrsctp */
#if HAVE_USRSCTP
ogs_socknode_linger(&node, true, 0);
#endif
#endif
sock = ogs_sctp_client(SOCK_SEQPACKET, &node);
if (sock) {
vlr->sock = sock;
#if HAVE_USRSCTP
vlr->addr = node.addr;
usrsctp_set_non_blocking((struct socket *)sock, 1);
usrsctp_set_upcall((struct socket *)sock, usrsctp_recv_handler, NULL);
#else
vlr->addr = &sock->remote_addr;