summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/wb_reqtrans.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source3/lib/wb_reqtrans.c b/source3/lib/wb_reqtrans.c
index 16d71fe03e..038e5bda17 100644
--- a/source3/lib/wb_reqtrans.c
+++ b/source3/lib/wb_reqtrans.c
@@ -342,6 +342,7 @@ static bool closed_fd(int fd)
{
struct timeval tv;
fd_set r_fds;
+ int selret;
if (fd == -1) {
return true;
@@ -351,12 +352,14 @@ static bool closed_fd(int fd)
FD_SET(fd, &r_fds);
ZERO_STRUCT(tv);
- if ((select(fd+1, &r_fds, NULL, NULL, &tv) == -1)
- || FD_ISSET(fd, &r_fds)) {
+ selret = select(fd+1, &r_fds, NULL, NULL, &tv);
+ if (selret == -1) {
return true;
}
-
- return false;
+ if (selret == 0) {
+ return false;
+ }
+ return (FD_ISSET(fd, &r_fds));
}
struct wb_simple_trans_state {