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:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/syscalls.cc7
2 files changed, 9 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c85fc04e9..50014d572 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (unlink_nt): Ignore sharing violation on NFS. Align
+ comments.
+
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
* mount.h (fs_info::fsn): New member.
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 64d9001e3..60db05a19 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -500,8 +500,9 @@ unlink_nt (path_conv &pc)
though, and it is then possible to delete the file quite normally. */
/* The recycle bin is only accessible locally. For in-use remote
- files we drop back to just returning EBUSY. */
- if (pc.isremote () && status == STATUS_SHARING_VIOLATION)
+ files we drop back to just returning EBUSY, except for NFS. */
+ if (pc.isremote () && status == STATUS_SHARING_VIOLATION
+ && !pc.fs_is_nfs ())
{
if (fh_ro)
{
@@ -511,7 +512,7 @@ unlink_nt (path_conv &pc)
}
return status;
}
- /* Only local FS and NFS w/ STATUS_LOCK_NOT_GRANTED should arrive here. */
+ /* Only local FS and NFS should arrive here. */
if (!pc.isremote ())
bin_stat = move_to_bin;
if (!pc.isdir () || pc.isremote ())