diff options
author | Christopher Faylor <me@cgf.cx> | 2011-05-31 04:26:37 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-05-31 04:26:37 +0400 |
commit | 106e3acf59e11aae4d0ffe97492f7d4ecd6db5cb (patch) | |
tree | bafe1167364fb4cf895c8b7c6609e70e1442aa5e /winsup/cygwin/fhandler.h | |
parent | de3c57f06e3b8244c44e7203dc50cfad8a68f130 (diff) |
* dtable.cc (dtable::select_write): Add missing argument to debug_printf.
* fhandler.cc (fhandler_base_overlapped::setup_overlapped): Explicitly set
io_pending to false.
(fhandler_base_overlapped::has_ongoing_io): Call GetOverlappedResult to force
completion of I/O.
(fhandler_base_overlapped::wait_overlapped): Rewrite to correctly deal with
nonblocking reads and to make more race proof.
(fhandler_base_overlapped::raw_write): Deal with new enum values.
(fhandler_base_overlapped::raw_read): Ditto. Don't deal with ongoing I/O here
since it makes no sense in the read context.
* fhandler.h (enum wait_return): Add overlapped_unknown,
overlapped_nonblocking_no_data.
* pipe.cc (pipe): Add debugging output.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index e8a503481..2e7f6b500 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -578,8 +578,10 @@ class fhandler_base_overlapped: public fhandler_base protected: enum wait_return { - overlapped_success = 0, + overlapped_unknown = 0, + overlapped_success, overlapped_signal, + overlapped_nonblocking_no_data, overlapped_error }; bool io_pending; |