mirror of
https://github.com/fluencelabs/redis
synced 2025-03-30 22:31:03 +00:00
Merge pull request #1214 from kaoshijuan/unstable
fixed initServer fail problem
This commit is contained in:
commit
038e356dbc
18
src/redis.c
18
src/redis.c
@ -1476,6 +1476,7 @@ void adjustOpenFilesLimit(void) {
|
|||||||
|
|
||||||
void initServer() {
|
void initServer() {
|
||||||
int j;
|
int j;
|
||||||
|
int ip_count;
|
||||||
|
|
||||||
signal(SIGHUP, SIG_IGN);
|
signal(SIGHUP, SIG_IGN);
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
@ -1507,10 +1508,19 @@ void initServer() {
|
|||||||
if (server.bindaddr_count == 0) server.bindaddr[0] = NULL;
|
if (server.bindaddr_count == 0) server.bindaddr[0] = NULL;
|
||||||
for (j = 0; j < server.bindaddr_count || j == 0; j++) {
|
for (j = 0; j < server.bindaddr_count || j == 0; j++) {
|
||||||
if (server.bindaddr[j] == NULL) {
|
if (server.bindaddr[j] == NULL) {
|
||||||
/* Bind * for both IPv6 and IPv4. */
|
/* Bind * for both IPv6 and IPv4.
|
||||||
server.ipfd[0] = anetTcp6Server(server.neterr,server.port,NULL);
|
* Should consider that someone only has IPV6 and someone only get IPV4 */
|
||||||
if (server.ipfd[0] != ANET_ERR) server.ipfd_count++;
|
ip_count = 0;
|
||||||
server.ipfd[1] = anetTcpServer(server.neterr,server.port,NULL);
|
server.ipfd[ip_count] = anetTcp6Server(server.neterr,server.port,NULL);
|
||||||
|
if (server.ipfd[ip_count] != ANET_ERR) ip_count++;
|
||||||
|
|
||||||
|
server.ipfd[ip_count] = anetTcpServer(server.neterr,server.port,NULL);
|
||||||
|
if(server.ipfd[ip_count] != ANET_ERR ) ip_count++;
|
||||||
|
|
||||||
|
/* It should be ip_count plus one
|
||||||
|
* because out of this branch, the server.ipfd_count would increase */
|
||||||
|
server.ipfd_count += (ip_count - 1);
|
||||||
|
|
||||||
} else if (strchr(server.bindaddr[j],':')) {
|
} else if (strchr(server.bindaddr[j],':')) {
|
||||||
/* Bind IPv6 address. */
|
/* Bind IPv6 address. */
|
||||||
server.ipfd[server.ipfd_count] = anetTcp6Server(server.neterr,server.port,server.bindaddr[j]);
|
server.ipfd[server.ipfd_count] = anetTcp6Server(server.neterr,server.port,server.bindaddr[j]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user