libnv: let nvlist_recv() pass flags to recv()

Differential Revision:	https://reviews.freebsd.org/D32721
This commit is contained in:
Robert Wing 2021-12-06 09:36:37 -09:00
parent d49b75d0d6
commit db158b9942
3 changed files with 5 additions and 5 deletions

View file

@ -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;

View file

@ -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_ */

View file

@ -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) {