aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-06-30 23:01:06 -0700
committerGarrett D'Amore <garrett@damore.org>2017-06-30 23:01:06 -0700
commit53a22a96d49e8b44c7e70b59559db87f57158a82 (patch)
tree2d3c9aca598781ff57580586e1350710f4e17736
parentc721616e2e79d5890d402a8e2fa3dcc6b48657da (diff)
downloadnng-53a22a96d49e8b44c7e70b59559db87f57158a82.tar.gz
nng-53a22a96d49e8b44c7e70b59559db87f57158a82.tar.bz2
nng-53a22a96d49e8b44c7e70b59559db87f57158a82.zip
Properly initialize eps during listen.
-rw-r--r--src/platform/posix/posix_poll.c1
-rw-r--r--src/platform/posix/posix_socket.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/src/platform/posix/posix_poll.c b/src/platform/posix/posix_poll.c
index 4d9a4d0b..e5a2dadf 100644
--- a/src/platform/posix/posix_poll.c
+++ b/src/platform/posix/posix_poll.c
@@ -889,6 +889,7 @@ nni_posix_pollq_init(nni_posix_pollq *pq)
int rv;
NNI_LIST_INIT(&pq->pds, nni_posix_pipedesc, node);
+ NNI_LIST_INIT(&pq->eds, nni_posix_epdesc, node);
pq->wakewfd = -1;
pq->wakerfd = -1;
pq->close = 0;
diff --git a/src/platform/posix/posix_socket.c b/src/platform/posix/posix_socket.c
index 8eed097e..32530388 100644
--- a/src/platform/posix/posix_socket.c
+++ b/src/platform/posix/posix_socket.c
@@ -311,7 +311,13 @@ nni_posix_sock_listen(nni_posix_sock *s, const nni_sockaddr *saddr)
return (rv);
}
+ if ((rv = nni_posix_epdesc_init(&s->ed, fd)) != 0) {
+ (void) close(fd);
+ return (rv);
+ }
+
s->fd = fd;
+
return (0);
}