Skip to content
Snippets Groups Projects
Commit 1d0ef81f authored by Constantin P.'s avatar Constantin P. 💬
Browse files

Merge branch 'hotfix-resueaddr' into 'master'

Reuseaddr to accepted connections

See merge request !424
parents 28c9223b 50e639f1
No related branches found
No related tags found
1 merge request!424Reuseaddr to accepted connections
Pipeline #46371 passed with stage
in 14 minutes and 47 seconds
...@@ -1309,14 +1309,20 @@ void dap_events_socket_set_readable_unsafe_ex(dap_events_socket_t *a_es, bool a_ ...@@ -1309,14 +1309,20 @@ void dap_events_socket_set_readable_unsafe_ex(dap_events_socket_t *a_es, bool a_
case DESCRIPTOR_TYPE_SOCKET_LISTENING: case DESCRIPTOR_TYPE_SOCKET_LISTENING:
case DESCRIPTOR_TYPE_SOCKET_LOCAL_LISTENING: case DESCRIPTOR_TYPE_SOCKET_LOCAL_LISTENING:
if ( (a_es->socket2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET ) if ( (a_es->socket2 = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET ) {
log_it(L_ERROR, "Failed to create socket for accept()'ing, errno %d", WSAGetLastError()); log_it(L_ERROR, "Failed to create socket for accept()'ing, errno %d", WSAGetLastError());
else { break;
l_err = pfnAcceptEx( a_es->socket, a_es->socket2, (LPVOID)(a_es->buf_in), 0, }
sizeof(SOCKADDR_STORAGE) + 16, sizeof(SOCKADDR_STORAGE) + 16, u_long l_option = 1;
&bytes, (OVERLAPPED*)ol ) ? ERROR_SUCCESS : WSAGetLastError(); if ( setsockopt(a_es->socket2, SOL_SOCKET, SO_REUSEADDR, (const char*)&l_option, sizeof(int)) < 0 ) {
func = "AcceptEx"; _set_errno( WSAGetLastError() );
log_it(L_ERROR, "setsockopt(SO_REUSEADDR) on socket %d failed, error %d: \"%s\"",
a_es->socket2, errno, dap_strerror(errno));
} }
l_err = pfnAcceptEx( a_es->socket, a_es->socket2, (LPVOID)(a_es->buf_in), 0,
sizeof(SOCKADDR_STORAGE) + 16, sizeof(SOCKADDR_STORAGE) + 16,
&bytes, (OVERLAPPED*)ol ) ? ERROR_SUCCESS : WSAGetLastError();
func = "AcceptEx";
break; break;
case DESCRIPTOR_TYPE_FILE: case DESCRIPTOR_TYPE_FILE:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment