diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-03-30 08:52:05 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-03-30 08:52:05 +0300 |
commit | a4d753758fd5305853ba339a0cd57d1675d5aa8c (patch) | |
tree | 33afd8af9e7cc164744bb9a2acc8ad5cf819a0e9 /mysys | |
parent | 2885fb0ee496285b49efea7d84c6cd0a8e819319 (diff) | |
parent | 0a573e7e632f604ee58f944161889bf2abe8bc2c (diff) | |
download | mariadb-git-a4d753758fd5305853ba339a0cd57d1675d5aa8c.tar.gz |
Merge 10.6 into 10.7
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/my_rename.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mysys/my_rename.c b/mysys/my_rename.c index 93a59342b6c..73fc2fbe47c 100644 --- a/mysys/my_rename.c +++ b/mysys/my_rename.c @@ -46,12 +46,15 @@ static BOOL win_rename_with_retries(const char *from, const char *to) for (int retry= RENAME_MAX_RETRIES; retry--;) { - DWORD ret = MoveFileEx(from, to, + BOOL ret= MoveFileEx(from, to, MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING); - DBUG_ASSERT(fp == NULL || (ret == FALSE && GetLastError() == ERROR_SHARING_VIOLATION)); + if (ret) + return ret; - if (!ret && (GetLastError() == ERROR_SHARING_VIOLATION)) + DWORD last_error= GetLastError(); + if (last_error == ERROR_SHARING_VIOLATION || + last_error == ERROR_ACCESS_DENIED) { #ifndef DBUG_OFF /* |