From 1e7cff23b34041f2be8a208841ae398091683790 Mon Sep 17 00:00:00 2001 From: Allan Date: Wed, 24 Jul 2013 21:34:55 +0800 Subject: [PATCH] fixed bug issue of #1213 --- src/redis.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/redis.c b/src/redis.c index 8a833d50..7e1c2fa5 100644 --- a/src/redis.c +++ b/src/redis.c @@ -1435,9 +1435,12 @@ void initServer() { for (j = 0; j < server.bindaddr_count || j == 0; j++) { if (server.bindaddr[j] == NULL) { /* Bind * for both IPv6 and IPv4. */ - server.ipfd[0] = anetTcp6Server(server.neterr,server.port,NULL); - if (server.ipfd[0] != ANET_ERR) server.ipfd_count++; - server.ipfd[1] = anetTcpServer(server.neterr,server.port,NULL); + server.ipfd[server.ipfd_count] = anetTcp6Server(server.neterr,server.port,NULL); + if (server.ipfd[server.ipfd_count] != ANET_ERR) server.ipfd_count++; + + server.ipfd[server.ipfd_count] = anetTcpServer(server.neterr,server.port,NULL); + + } else if (strchr(server.bindaddr[j],':')) { /* Bind IPv6 address. */ server.ipfd[server.ipfd_count] = anetTcp6Server(server.neterr,server.port,server.bindaddr[j]);