Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-12-18 08:07:47 +0400
committerChristopher Faylor <me@cgf.cx>2011-12-18 08:07:47 +0400
commitd004a279716433bf3dc8477bc838d490028d223d (patch)
tree31e07ddaf6d7fc259343f355df0395f0baba43a9 /winsup/cygwin/syscalls.cc
parent1b23b30b29eebbe7c9953f2a7470f31a0feb8702 (diff)
* 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.cc1
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 ();
}