Commit f9624813 authored by antirez's avatar antirez
Browse files

fix the fix for the TCP binding.

This commit attempts to fix a problem with PR #3467.
parent 92038286
...@@ -1644,19 +1644,24 @@ int listenToPort(int port, int *fds, int *count) { ...@@ -1644,19 +1644,24 @@ int listenToPort(int port, int *fds, int *count) {
if (fds[*count] != ANET_ERR) { if (fds[*count] != ANET_ERR) {
anetNonBlock(NULL,fds[*count]); anetNonBlock(NULL,fds[*count]);
(*count)++; (*count)++;
} else if (errno == EAFNOSUPPORT) } else if (errno == EAFNOSUPPORT) {
unsupported++; unsupported++;
serverLog(LL_WARNING,"Not listening to IPv6: unsupproted");
}
if (*count == 1 || unsupported) {
/* Bind the IPv4 address as well. */ /* Bind the IPv4 address as well. */
fds[*count] = anetTcpServer(server.neterr,port,NULL, fds[*count] = anetTcpServer(server.neterr,port,NULL,
server.tcp_backlog); server.tcp_backlog);
if (fds[*count] != ANET_ERR) { if (fds[*count] != ANET_ERR) {
anetNonBlock(NULL,fds[*count]); anetNonBlock(NULL,fds[*count]);
(*count)++; (*count)++;
} else if (errno == EAFNOSUPPORT) } else if (errno == EAFNOSUPPORT) {
unsupported++; unsupported++;
serverLog(LL_WARNING,"Not listening to IPv4: unsupproted");
}
}
/* Exit the loop if we were able to bind * on IPv4 and IPv6, /* Exit the loop if we were able to bind * on IPv4 and IPv6,
* or if one is unsupported by th OS.
* otherwise fds[*count] will be ANET_ERR and we'll print an * otherwise fds[*count] will be ANET_ERR and we'll print an
* error and return to the caller with an error. */ * error and return to the caller with an error. */
if (*count + unsupported == 2) break; if (*count + unsupported == 2) break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment