diff options
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r-- | winsup/cygwin/fhandler.cc | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 55a73b66e..ef25a07b8 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -14,7 +14,6 @@ details. */ #include <stdlib.h> #include <sys/uio.h> #include <sys/acl.h> -#include <sys/param.h> #include "cygerrno.h" #include "perprocess.h" #include "security.h" @@ -31,7 +30,6 @@ details. */ #include "sigproc.h" #include "shared_info.h" #include <asm/socket.h> -#include "cygwait.h" #define MAX_OVERLAPPED_WRITE_LEN (64 * 1024 * 1024) #define MIN_OVERLAPPED_WRITE_LEN (1 * 1024 * 1024) @@ -951,7 +949,7 @@ fhandler_base::readv (const struct iovec *const iov, const int iovcnt, char *p = buf; while (nbytes > 0) { - const int frag = MIN (nbytes, (ssize_t) iovptr->iov_len); + const int frag = min (nbytes, (ssize_t) iovptr->iov_len); memcpy (iovptr->iov_base, p, frag); p += frag; iovptr += 1; @@ -1003,7 +1001,7 @@ fhandler_base::writev (const struct iovec *const iov, const int iovcnt, while (nbytes != 0) { - const int frag = MIN (nbytes, (ssize_t) iovptr->iov_len); + const int frag = min (nbytes, (ssize_t) iovptr->iov_len); memcpy (bufptr, iovptr->iov_base, frag); bufptr += frag; iovptr += 1; @@ -1466,7 +1464,7 @@ fhandler_base::tcgetpgrp () return -1; } -pid_t +int fhandler_base::tcgetsid () { set_errno (ENOTTY); @@ -1940,7 +1938,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte case WAIT_OBJECT_0: err = ERROR_INVALID_HANDLE; break; - case WAIT_SIGNALED: + case WAIT_OBJECT_0 + 1: err = ERROR_INVALID_AT_INTERRUPT_TIME; break; default: @@ -1983,11 +1981,7 @@ fhandler_base_overlapped::wait_overlapped (bool inres, bool writing, DWORD *byte } if (res == overlapped_success) - { - debug_printf ("normal %s, %u bytes ispipe() %d", writing ? "write" : "read", *bytes, ispipe ()); - if (*bytes == 0 && !writing && ispipe ()) - res = overlapped_nullread; - } + debug_printf ("normal %s, %u bytes", writing ? "write" : "read", *bytes); else if (res == overlapped_nonblocking_no_data) { *bytes = (DWORD) -1; @@ -2025,9 +2019,6 @@ fhandler_base_overlapped::raw_read (void *ptr, size_t& len) get_overlapped ()); switch (wait_overlapped (res, false, &nbytes, is_nonblocking ())) { - case overlapped_nullread: - keep_looping = true; - break; default: /* Added to quiet gcc */ case overlapped_success: case overlapped_error: @@ -2084,7 +2075,6 @@ fhandler_base_overlapped::raw_write (const void *ptr, size_t len) case overlapped_error: len = 0; /* terminate loop */ case overlapped_unknown: - case overlapped_nullread: case overlapped_nonblocking_no_data: break; } |