Correct check for DNS request send success

This predates the sendmmsg use.  The two requests can use different
request sizes but the check for successful transfer always only used
buflen.
This commit is contained in:
Ulrich Drepper 2012-03-30 08:27:11 -04:00
parent c030f70c87
commit 8e6d108343
2 changed files with 2 additions and 2 deletions

View File

@ -1,7 +1,7 @@
2012-03-30 Ulrich Drepper <drepper@gmail.com>
* resolv/res_send.c (send_dg): Use sendmmsg if we have to write two
requests to save a system call.
requests to save a system call. Fix check that all bytes are sent.
* sysdeps/unix/sysv/linux/bits/socket.h (struct mmsghdr): Fix up
comments for sendmmsg.

View File

@ -1171,7 +1171,7 @@ send_dg(res_state statp,
else
sr = send (pfd[0].fd, buf, buflen, MSG_NOSIGNAL);
if (sr != buflen) {
if (sr != (nwritten != 0 ? buflen2 : buflen)) {
if (errno == EINTR || errno == EAGAIN)
goto recompute_resend;
Perror(statp, stderr, "send", errno);