summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc2
2 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 1d8f2ab11..4b60bc953 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::lock): Handle
+ ERROR_NOT_LOCKED returned from UnlockFileEx.
+
2006-08-09 Corinna Vinschen <corinna@vinschen.de>
* path.h (SYMLINK_EA_NAME): Remove.
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index a8b6dc31f..e1a4887ee 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -1364,6 +1364,8 @@ fhandler_disk_file::lock (int cmd, struct __flock64 *fl)
if (fl->l_type == F_UNLCK)
{
res = UnlockFileEx (get_handle (), 0, len_low, len_high, &ov);
+ if (res == 0 && GetLastError () == ERROR_NOT_LOCKED)
+ res = 1;
}
else
{