diff options
author | Christopher Faylor <me@cgf.cx> | 2011-12-18 04:07:47 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-12-18 04:07:47 +0000 |
commit | d004a279716433bf3dc8477bc838d490028d223d (patch) | |
tree | 31e07ddaf6d7fc259343f355df0395f0baba43a9 /winsup/cygwin/syscalls.cc | |
parent | 1b23b30b29eebbe7c9953f2a7470f31a0feb8702 (diff) | |
download | cygnal-d004a279716433bf3dc8477bc838d490028d223d.tar.gz cygnal-d004a279716433bf3dc8477bc838d490028d223d.tar.bz2 cygnal-d004a279716433bf3dc8477bc838d490028d223d.zip |
* fhandler.cc (fhandler_base::close): Move setting isclosed() from here to
closed().
(fhandler_base_overlapped::close): Correct comment.
(fhandler_base_overlapped::destroy_overlapped): Signal overlapped event before
closing it to potentially wake up a waiting thread.
(fhandler_base_overlapped::wait_overlapped): Expand setting of err when closed
to encompass non-signal event. Test for a cancel event before making
nonblocking decisions.
* syscalls.cc (close): Set closed flag here so that any concurrently executing
functions will be notified ASAP.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r-- | winsup/cygwin/syscalls.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index ea0c23d0b..f86e0442a 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -1373,6 +1373,7 @@ close (int fd) res = -1; else { + cfd->isclosed (true); res = cfd->close_with_arch (); cfd.release (); } |