diff options
author | Robert Wing <rew@FreeBSD.org> | 2021-12-06 18:36:37 +0000 |
---|---|---|
committer | Robert Wing <rew@FreeBSD.org> | 2021-12-06 18:54:55 +0000 |
commit | db158b9942c15f13f4fa09bd29435da882cf865c (patch) | |
tree | 22d235cacdc16a69986edb70eed2924e8a17ef76 | |
parent | d49b75d0d67f86265cfe9b8c83d3749c4a8d3e14 (diff) | |
download | src-db158b9942c15f13f4fa09bd29435da882cf865c.tar.gz src-db158b9942c15f13f4fa09bd29435da882cf865c.zip |
libnv: let nvlist_recv() pass flags to recv()
Differential Revision: https://reviews.freebsd.org/D32721
-rw-r--r-- | lib/libnv/msgio.c | 4 | ||||
-rw-r--r-- | lib/libnv/msgio.h | 2 | ||||
-rw-r--r-- | 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) { |