summaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2019-01-05 16:30:02 -0800
committerGarrett D'Amore <garrett@damore.org>2019-01-06 12:12:27 -0800
commit6d0027fae75e4810d66eb4c5817255ffa517e158 (patch)
tree9bd36c16cf293e4335ab0650e226a335029012ad /src/platform
parent68c6310ee83078d6ad6af0c9ccddef11b8f8b7c2 (diff)
downloadnng-6d0027fae75e4810d66eb4c5817255ffa517e158.tar.gz
nng-6d0027fae75e4810d66eb4c5817255ffa517e158.tar.bz2
nng-6d0027fae75e4810d66eb4c5817255ffa517e158.zip
fixes #839 TCP listener_start API should use constant sockaddr
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/posix/posix_tcplisten.c11
-rw-r--r--src/platform/windows/win_tcplisten.c3
2 files changed, 2 insertions, 12 deletions
diff --git a/src/platform/posix/posix_tcplisten.c b/src/platform/posix/posix_tcplisten.c
index 82334431..1e1b84b1 100644
--- a/src/platform/posix/posix_tcplisten.c
+++ b/src/platform/posix/posix_tcplisten.c
@@ -184,7 +184,7 @@ tcp_listener_cancel(nni_aio *aio, void *arg, int rv)
}
int
-nni_tcp_listener_listen(nni_tcp_listener *l, nni_sockaddr *sa)
+nni_tcp_listener_listen(nni_tcp_listener *l, const nni_sockaddr *sa)
{
socklen_t len;
struct sockaddr_storage ss;
@@ -247,15 +247,6 @@ nni_tcp_listener_listen(nni_tcp_listener *l, nni_sockaddr *sa)
return (rv);
}
- // Lets get the bound sockname, and pass that back to the caller.
- // This permits ephemeral port binding to work.
- // If this fails for some reason, we just don't update the
- // sockaddr structure. This is kind of suboptimal, but failures
- // here should never occur.
- len = sizeof(ss);
- (void) getsockname(fd, (void *) &ss, &len);
- (void) nni_posix_sockaddr2nn(sa, &ss);
-
nni_posix_pfd_set_cb(pfd, tcp_listener_cb, l);
l->pfd = pfd;
diff --git a/src/platform/windows/win_tcplisten.c b/src/platform/windows/win_tcplisten.c
index 750de13b..9cf16985 100644
--- a/src/platform/windows/win_tcplisten.c
+++ b/src/platform/windows/win_tcplisten.c
@@ -186,7 +186,7 @@ nni_tcp_listener_fini(nni_tcp_listener *l)
}
int
-nni_tcp_listener_listen(nni_tcp_listener *l, nni_sockaddr *sa)
+nni_tcp_listener_listen(nni_tcp_listener *l, const nni_sockaddr *sa)
{
int rv;
BOOL yes;
@@ -244,7 +244,6 @@ nni_tcp_listener_listen(nni_tcp_listener *l, nni_sockaddr *sa)
nni_mtx_unlock(&l->mtx);
return (rv);
}
- nni_win_sockaddr2nn(sa, &l->ss);
l->started = true;
nni_mtx_unlock(&l->mtx);
return (0);