From 95ab679e6443bbd23b308b6d7df7d83df020419d Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Wed, 4 Jan 2017 22:32:19 -0800 Subject: Recv returns 0 on EOF. --- src/platform/posix/posix_net.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/platform/posix/posix_net.c b/src/platform/posix/posix_net.c index 151e14f1..c7af7d0c 100644 --- a/src/platform/posix/posix_net.c +++ b/src/platform/posix/posix_net.c @@ -184,6 +184,9 @@ nni_plat_tcp_recv(nni_plat_tcpsock *s, nni_iov *iovs, int cnt) } return (nni_plat_errno(errno)); } + if (rv == 0) { + return (NNG_ECLOSED); + } if (rv > resid) { nni_panic("readv says it read too much!"); } @@ -370,7 +373,7 @@ nni_plat_tcp_accept(nni_plat_tcpsock *s, nni_plat_tcpsock *server) for (;;) { #ifdef NNG_USE_ACCEPT4 fd = accept4(server->fd, NULL, NULL, SOCK_CLOEXEC); - if ((fd < 0) && ((errrno == ENOSYS) || (errno == ENOTSUP))) { + if ((fd < 0) && ((errno == ENOSYS) || (errno == ENOTSUP))) { fd = accept(server->fd, NULL, NULL); } #else -- cgit v1.2.3-70-g09d2