git: db158b9942c1 - main - libnv: let nvlist_recv() pass flags to recv()
Date: Mon, 06 Dec 2021 18:58:03 UTC
The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=db158b9942c15f13f4fa09bd29435da882cf865c commit db158b9942c15f13f4fa09bd29435da882cf865c Author: Robert Wing <rew@FreeBSD.org> AuthorDate: 2021-12-06 18:36:37 +0000 Commit: Robert Wing <rew@FreeBSD.org> CommitDate: 2021-12-06 18:54:55 +0000 libnv: let nvlist_recv() pass flags to recv() Differential Revision: https://reviews.freebsd.org/D32721 --- lib/libnv/msgio.c | 4 ++-- lib/libnv/msgio.h | 2 +- sys/contrib/libnv/nvlist.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/libnv/msgio.c b/lib/libnv/msgio.c index 7cec4c898f04..899f2d3a0ff1 100644 --- a/lib/libnv/msgio.c +++ b/lib/libnv/msgio.c @@ -450,7 +450,7 @@ buf_send(int sock, void *buf, size_t size) } int -buf_recv(int sock, void *buf, size_t size) +buf_recv(int sock, void *buf, size_t size, int flags) { ssize_t done; unsigned char *ptr; @@ -461,7 +461,7 @@ buf_recv(int sock, void *buf, size_t size) ptr = buf; while (size > 0) { fd_wait(sock, true); - done = recv(sock, ptr, size, 0); + done = recv(sock, ptr, size, flags); if (done == -1) { if (errno == EINTR) continue; diff --git a/lib/libnv/msgio.h b/lib/libnv/msgio.h index 13592e4cd0fb..0686c47f294c 100644 --- a/lib/libnv/msgio.h +++ b/lib/libnv/msgio.h @@ -47,6 +47,6 @@ int fd_send(int sock, const int *fds, size_t nfds); int fd_recv(int sock, int *fds, size_t nfds); int buf_send(int sock, void *buf, size_t size); -int buf_recv(int sock, void *buf, size_t size); +int buf_recv(int sock, void *buf, size_t size, int flags); #endif /* !_MSGIO_H_ */ diff --git a/sys/contrib/libnv/nvlist.c b/sys/contrib/libnv/nvlist.c index 31ab62abeb67..0ede1ca2f894 100644 --- a/sys/contrib/libnv/nvlist.c +++ b/sys/contrib/libnv/nvlist.c @@ -1280,7 +1280,7 @@ nvlist_recv(int sock, int flags) size_t nfds, size, i; int *fds; - if (buf_recv(sock, &nvlhdr, sizeof(nvlhdr)) == -1) + if (buf_recv(sock, &nvlhdr, sizeof(nvlhdr), 0) == -1) return (NULL); if (!nvlist_check_header(&nvlhdr)) @@ -1298,7 +1298,7 @@ nvlist_recv(int sock, int flags) ret = NULL; fds = NULL; - if (buf_recv(sock, buf + sizeof(nvlhdr), size - sizeof(nvlhdr)) == -1) + if (buf_recv(sock, buf + sizeof(nvlhdr), size - sizeof(nvlhdr), 0) == -1) goto out; if (nfds > 0) {