summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-07-24 14:13:44 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-07-24 14:13:44 +0000
commit92d816d492376876a0afee9b1a7e35efd85a94ea (patch)
treef1a20453f2cddfaa7f48a3288be10b3b6434e751
parent6922bae9a1499e304b409407c46dd50a99086c4d (diff)
downloadcygnal-92d816d492376876a0afee9b1a7e35efd85a94ea.tar.gz
cygnal-92d816d492376876a0afee9b1a7e35efd85a94ea.tar.bz2
cygnal-92d816d492376876a0afee9b1a7e35efd85a94ea.zip
* syscalls.cc (unlink_nt): Ignore sharing violation on NFS. Align
comments.
-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 ())