---
winsup/cygwin/ntdll.h | 3 ++-
winsup/cygwin/syscalls.cc | 20
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index d4f6aaf45..7eee383dd 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -4
The _remove_r code is already in the remove function.
Therefore, just call the remove function and make
sure errno is set correctly in the reent struct.
---
winsup/cygwin/syscalls.cc | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/win
first five patches are trivial,
I would really like some feedback on the last six.
Also, I'd like to state: I provide my patches to
the Cygwin sources under the 2-clause BSD license
Thank you,
Ben Wijen (11):
syscalls.cc: unlink_nt: Try FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
firs
This is the non-POSIX value returned by Linux since 2.1.132.
---
winsup/cygwin/syscalls.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 227d1a911..043ccdb99 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin
NtQueryInformationFile on fh_ro needs FILE_READ_ATTRIBUTES
to succeed.
---
winsup/cygwin/syscalls.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 0e89b4f44..227d1a911 100644
--- a/winsup/cygwin/syscalls.cc
+++
Move post-dir unlink check from
fhandler_disk_file::rmdir to _unlink_nt
---
winsup/cygwin/fhandler_disk_file.cc | 20
winsup/cygwin/syscalls.cc | 21 +
2 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/winsup/cygwin/fhandler_disk_fi
The old implementation for __cxa_guard_acquire did not return 1,
therefore dynamic initialization was never performed.
If concurrent-safe dynamic initialisation is ever needed, CXX ABI
must be followed when re-implementing __cxa_guard_acquire (et al.)
---
winsup/cygwin/Makefile.in | 2 +-
winsup
Implement _unlink_nt: wich does not depend on patch_conv
---
winsup/cygwin/fhandler_disk_file.cc | 4 +-
winsup/cygwin/forkable.cc | 4 +-
winsup/cygwin/syscalls.cc | 239 ++--
3 files changed, 228 insertions(+), 19 deletions(-)
diff --git a/winsup/
When file attributes are of no concern,
there is no point to query them.
---
winsup/cygwin/path.cc | 3 +++
winsup/cygwin/path.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index abd3687df..f00707e86 100644
--- a/winsup/cygwin/path.cc
+++ b/
Try to avoid NtQueryVolumeInformationFile.
---
winsup/cygwin/mount.cc | 78 --
winsup/cygwin/mount.h | 2 +-
winsup/cygwin/path.cc | 2 +-
winsup/cygwin/path.h | 1 +
4 files changed, 56 insertions(+), 27 deletions(-)
diff --git a/winsup/cygwin/mount
Not having to query file information improves unlink speed.
---
winsup/cygwin/syscalls.cc | 68 ---
1 file changed, 42 insertions(+), 26 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 79e4a4422..8aecdf453 100644
--- a/wins
Speedup deletion of directories.
---
winsup/cygwin/dir.cc | 6 ++
1 file changed, 6 insertions(+)
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index f912a9e47..2e7da3638 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -22,6 +22,8 @@ details. */
#include "cygtls.h"
Hi,
I think I got all remarks, please let me know if I missed something.
I'm still thinking on a better way to use fs_info::update cache,
but it requires more testing.
Thank you,
Ben Wijen (8):
syscalls.cc: unlink_nt: Try FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
syscalls.cc: Dedupl
Implement wincap.has_posix_unlink_semantics_with_ignore_readonly and when set
skip setting/clearing of READONLY attribute and instead use
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
---
winsup/cygwin/ntdll.h | 3 ++-
winsup/cygwin/syscalls.cc | 14 +-
winsup/cygwin/wincap.cc | 11 +++
The remove code is already in the _remove_r function.
So, just call the _remove_r function.
---
winsup/cygwin/syscalls.cc | 17 -
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 2e50ad7d5..54b065733 100644
-
Move post-dir unlink check from fhandler_disk_file::rmdir to
_unlink_nt_post_dir_check
If a directory is not removed through fhandler_disk_file::rmdir
we can now make sure the post dir check is performed.
---
winsup/cygwin/fhandler_disk_file.cc | 20
winsup/cygwin/syscalls.cc
Implement _unlink_nt: wich does not depend on patch_conv
---
winsup/cygwin/fhandler_disk_file.cc | 4 +-
winsup/cygwin/forkable.cc | 4 +-
winsup/cygwin/syscalls.cc | 211 ++--
3 files changed, 200 insertions(+), 19 deletions(-)
diff --git a/winsup/
When file attributes are of no concern, there is no point to query them.
This can greatly speedup code which doesn't need it.
The idea is to have a shallow path conversion with only minimal information.
The upcoming unlink_nt for example, first tries a path without filesystem
checks, then - if ne
Speedup deletion of directories.
---
winsup/cygwin/dir.cc | 12 ++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index 7762557d6..470f83aee 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -22,6 +22,8 @@ details.
path_conv already knows the IndexNumber, so just use it.
This commit also fixes the potential handle leak.
---
winsup/cygwin/fhandler_disk_file.cc | 24 ++--
1 file changed, 6 insertions(+), 18 deletions(-)
diff --git a/winsup/cygwin/fhandler_disk_file.cc
b/winsup/cygwin/fha
Not having to query file information improves unlink speed.
---
winsup/cygwin/syscalls.cc | 78 ++-
1 file changed, 52 insertions(+), 26 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index ab0c4c2d6..b5ab6ac5e 100644
--- a/wins
I think we don't need an extra flag as we can utilize: access &
FILE_WRITE_ATTRIBUTES
What do you think?
Ben Wijen (1):
syscalls.cc: unlink_nt: Try FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
winsup/cygwin/ntdll.h | 3 ++-
winsup/cygwin/syscalls.cc | 22 +++
wins
The remove code is already in the _remove_r function.
So, just call the _remove_r function.
---
winsup/cygwin/syscalls.cc | 17 -
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 8651cfade..e6ff0fd7a 100644
-
23 matches
Mail list logo