aboutsummaryrefslogtreecommitdiffstats
path: root/erts/epmd/src/epmd_srv.c
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2016-03-02 15:53:38 +0100
committerIngela Anderton Andin <[email protected]>2016-03-02 15:53:38 +0100
commit0c330d97894b214bd78ec6a2afd207a7c20c5140 (patch)
treeb03f424f8965dae73dc15b1538b2a7c8e39d747c /erts/epmd/src/epmd_srv.c
parentf2f3093222b37dba42b6eb7e7c4cbecf7655305c (diff)
parent9020ce9ab8347a781d4f761a1389bec4fd2bb468 (diff)
downloadotp-0c330d97894b214bd78ec6a2afd207a7c20c5140.tar.gz
otp-0c330d97894b214bd78ec6a2afd207a7c20c5140.tar.bz2
otp-0c330d97894b214bd78ec6a2afd207a7c20c5140.zip
Merge branch 'maint'
Diffstat (limited to 'erts/epmd/src/epmd_srv.c')
-rw-r--r--erts/epmd/src/epmd_srv.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/erts/epmd/src/epmd_srv.c b/erts/epmd/src/epmd_srv.c
index 84a2e0a3ea..75a33f28cb 100644
--- a/erts/epmd/src/epmd_srv.c
+++ b/erts/epmd/src/epmd_srv.c
@@ -375,7 +375,7 @@ void run(EpmdVars *g)
epmd_cleanup_exit(g,1);
}
}
- g->listenfd[i] = listensock[i];
+ g->listenfd[bound++] = listensock[i];
#if HAVE_DECL_IPV6_V6ONLY
opt = 1;
@@ -434,8 +434,6 @@ void run(EpmdVars *g)
}
}
- bound++;
-
if(listen(listensock[i], SOMAXCONN) < 0) {
dbg_perror(g,"failed to listen on socket");
epmd_cleanup_exit(g,1);
@@ -446,6 +444,7 @@ void run(EpmdVars *g)
dbg_perror(g,"unable to bind any address");
epmd_cleanup_exit(g,1);
}
+ num_sockets = bound;
#ifdef HAVE_SYSTEMD_DAEMON
}
sd_notifyf(0, "READY=1\n"
@@ -490,8 +489,8 @@ void run(EpmdVars *g)
}
for (i = 0; i < num_sockets; i++)
- if (FD_ISSET(listensock[i],&read_mask)) {
- if (do_accept(g, listensock[i]) && g->active_conn < g->max_conn) {
+ if (FD_ISSET(g->listenfd[i],&read_mask)) {
+ if (do_accept(g, g->listenfd[i]) && g->active_conn < g->max_conn) {
/*
* The accept() succeeded, and we have at least one file
* descriptor still free, which means that another accept()