summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2006-08-10 08:44:43 +0000
committerCorinna Vinschen <corinna@vinschen.de>2006-08-10 08:44:43 +0000
commit887e02e47804ec4dd84cf71501e0b49b4f2ddc2c (patch)
treebac00db8c3b2b58ef4ce370e51dc2d1da4ff474b /winsup/cygwin/fhandler_disk_file.cc
parenteab543a1d60b4a23a2ee08614d704b6002d98f54 (diff)
downloadcygnal-887e02e47804ec4dd84cf71501e0b49b4f2ddc2c.tar.gz
cygnal-887e02e47804ec4dd84cf71501e0b49b4f2ddc2c.tar.bz2
cygnal-887e02e47804ec4dd84cf71501e0b49b4f2ddc2c.zip
* fhandler_disk_file.cc (fhandler_disk_file::lock): Handle
ERROR_NOT_LOCKED returned from UnlockFileEx.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc2
1 files changed, 2 insertions, 0 deletions
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
{