diff options
| author | Ron Yorston <rmy@pobox.com> | 2023-01-26 07:38:13 +0000 |
|---|---|---|
| committer | Ron Yorston <rmy@pobox.com> | 2023-01-26 07:38:13 +0000 |
| commit | 073e14482ba493687f892f1a2deedde822220b06 (patch) | |
| tree | 99f662d5a4a20b462169b1024a2d4bfe2276c1b2 | |
| parent | e29a106453a90e3b0a7379a69a79487276575c7e (diff) | |
| download | busybox-w32-073e14482ba493687f892f1a2deedde822220b06.tar.gz busybox-w32-073e14482ba493687f892f1a2deedde822220b06.tar.bz2 busybox-w32-073e14482ba493687f892f1a2deedde822220b06.zip | |
win32: another stat(2) + access time fix
Use FILE_SHARE_READ when opening a file to check if it's an
executable. Without that other processes running in parallel
might be unable to access the file.
(GitHub issue #284)
| -rw-r--r-- | win32/mingw.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/win32/mingw.c b/win32/mingw.c index 75e6c3f24..5cd7e74db 100644 --- a/win32/mingw.c +++ b/win32/mingw.c | |||
| @@ -445,7 +445,7 @@ static int has_exec_format(const char *name) | |||
| 445 | 445 | ||
| 446 | /* Open file and try to avoid updating access time */ | 446 | /* Open file and try to avoid updating access time */ |
| 447 | fh = CreateFileA(name, GENERIC_READ | FILE_WRITE_ATTRIBUTES, | 447 | fh = CreateFileA(name, GENERIC_READ | FILE_WRITE_ATTRIBUTES, |
| 448 | 0, NULL, OPEN_EXISTING, 0, NULL); | 448 | FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); |
| 449 | if (fh != INVALID_HANDLE_VALUE) { | 449 | if (fh != INVALID_HANDLE_VALUE) { |
| 450 | FILETIME last_access = { 0xffffffff, 0xffffffff }; | 450 | FILETIME last_access = { 0xffffffff, 0xffffffff }; |
| 451 | 451 | ||
