|
|
|
@ -370,7 +370,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr, int addr_len, |
|
|
|
|
/* Try listening on IPv6 first. */ |
|
|
|
|
addr = (struct sockaddr *)&wild6; |
|
|
|
|
addr_len = sizeof(wild6); |
|
|
|
|
fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode); |
|
|
|
|
fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM | SOCK_NONBLOCK, |
|
|
|
|
IPPROTO_UDP, &dsmode); |
|
|
|
|
allocated_port1 = add_socket_to_server(s, fd, addr, addr_len, read_cb); |
|
|
|
|
if (fd >= 0 && dsmode == GRPC_DSMODE_DUALSTACK) { |
|
|
|
|
goto done; |
|
|
|
@ -384,7 +385,8 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr, int addr_len, |
|
|
|
|
addr_len = sizeof(wild4); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM, IPPROTO_UDP, &dsmode); |
|
|
|
|
fd = grpc_create_dualstack_socket(addr, SOCK_DGRAM | SOCK_NONBLOCK, |
|
|
|
|
IPPROTO_UDP, &dsmode); |
|
|
|
|
if (fd < 0) { |
|
|
|
|
gpr_log(GPR_ERROR, "Unable to create socket: %s", strerror(errno)); |
|
|
|
|
} |
|
|
|
|