Fix: check r < 0 before checking errno

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
This commit is contained in:
David Goulet 2015-01-30 15:18:40 -05:00
parent 51f793e37e
commit 2c41f12048
1 changed files with 2 additions and 2 deletions

View File

@ -174,7 +174,7 @@ pipe_drain(int fd)
do {
r = read_ni(fd, buf, sizeof(buf));
} while (r > 0);
if (errno != EAGAIN)
if (r < 0 && errno != EAGAIN)
return -1;
/* A value of r = 0 means EOF on the fd so successfully drained. */
return 0;
@ -198,7 +198,7 @@ sock_drain(tor_socket_t fd)
do {
r = recv_ni(fd, buf, sizeof(buf), 0);
} while (r > 0);
if (!ERRNO_IS_EAGAIN(tor_socket_errno(fd)))
if (r < 0 && !ERRNO_IS_EAGAIN(tor_socket_errno(fd)))
return -1;
/* A value of r = 0 means EOF on the fd so successfully drained. */
return 0;