summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2018-07-12 14:17:57 (GMT)
committersebres <sebres@users.sourceforge.net>2018-07-12 14:17:57 (GMT)
commit885a163b3c4ec29beb88d95cf6ff60687aa25223 (patch)
treea5a41d8fde6442b82e2ade91820311a6d8d2602f /win
parent51aecf205dab16072098f2f5119d6b9026f73e65 (diff)
downloadtcl-885a163b3c4ec29beb88d95cf6ff60687aa25223.zip
tcl-885a163b3c4ec29beb88d95cf6ff60687aa25223.tar.gz
tcl-885a163b3c4ec29beb88d95cf6ff60687aa25223.tar.bz2
win: closes [3f7af0e21e13f1f5] - avoid "permissions denied" by `file delete`, if file stat (TclpObjStat) used internally in other worker, for example by usage of `file mkdir` etc.
Diffstat (limited to 'win')
-rwxr-xr-xwin/tclWinFile.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/win/tclWinFile.c b/win/tclWinFile.c
index 1536bc0..cbd8814 100755
--- a/win/tclWinFile.c
+++ b/win/tclWinFile.c
@@ -2093,7 +2093,8 @@ NativeStat(
*/
fileHandle = (tclWinProcs->createFileProc)(nativePath, GENERIC_READ,
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ NULL, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT, NULL);
if (fileHandle != INVALID_HANDLE_VALUE) {