summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/autoload.cc1
-rw-r--r--winsup/cygwin/flock.cc14
2 files changed, 6 insertions, 9 deletions
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc
index a4a872e13..0f55c1e96 100644
--- a/winsup/cygwin/autoload.cc
+++ b/winsup/cygwin/autoload.cc
@@ -577,7 +577,6 @@ LoadDLLfunc (GetUdpTable, 12, iphlpapi)
LoadDLLfunc (if_indextoname, 8, iphlpapi)
LoadDLLfunc (if_nametoindex, 4, iphlpapi)
-LoadDLLfuncEx (CancelSynchronousIo, 4, kernel32, 1)
LoadDLLfunc (CreateSymbolicLinkW, 12, kernel32)
LoadDLLfuncEx2 (DiscardVirtualMemory, 8, kernel32, 1, 127)
LoadDLLfuncEx (GetLogicalProcessorInformationEx, 12, kernel32, 1)
diff --git a/winsup/cygwin/flock.cc b/winsup/cygwin/flock.cc
index ef5f6078b..860791d7b 100644
--- a/winsup/cygwin/flock.cc
+++ b/winsup/cygwin/flock.cc
@@ -2006,14 +2006,12 @@ fhandler_disk_file::mand_lock (int a_op, struct flock *fl)
thr->detach ();
break;
default:
- /* Signal arrived. */
- /* Starting with Vista, CancelSynchronousIo works, and we wait
- for the thread to exit. lp.status will be either
- STATUS_SUCCESS, or STATUS_CANCELLED. We only call
- NtUnlockFile in the first case.
- Prior to Vista, CancelSynchronousIo doesn't exist, so we
- terminated the thread and always call NtUnlockFile since
- lp.status was 0 to begin with. */
+ /* Signal arrived.
+ If CancelSynchronousIo works we wait for the thread to exit.
+ lp.status will be either STATUS_SUCCESS, or STATUS_CANCELLED.
+ We only call NtUnlockFile in the first case.
+ If CancelSynchronousIo fails we terminated the thread and
+ call NtUnlockFile since lp.status was 0 to begin with. */
if (CancelSynchronousIo (thr->thread_handle ()))
thr->detach ();
else