summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorheikki@hundin.mysql.fi <>2003-01-21 13:37:41 +0200
committerheikki@hundin.mysql.fi <>2003-01-21 13:37:41 +0200
commited62ee1c74fb48f8c52a556fe5f0f4974e7f479b (patch)
treeb80c7e59437f8f876cf9a6ba96f60bc05e3b0a68 /innobase
parentd3145a91357472463da3f94cd3de79bb1a5df4e8 (diff)
downloadmariadb-git-ed62ee1c74fb48f8c52a556fe5f0f4974e7f479b.tar.gz
os0file.c:
The problem yesterday in ERROR_LOCK_VIOLATION was not InnoDB Hot Backup, but some file system backup tool: add to file writes 100 retries with 1 second waits
Diffstat (limited to 'innobase')
-rw-r--r--innobase/os/os0file.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/innobase/os/os0file.c b/innobase/os/os0file.c
index e199075d6da..4008f8f6c76 100644
--- a/innobase/os/os0file.c
+++ b/innobase/os/os0file.c
@@ -8,6 +8,7 @@ Created 10/21/1995 Heikki Tuuri
#include "os0file.h"
#include "os0sync.h"
+#include "os0thread.h"
#include "ut0mem.h"
#include "srv0srv.h"
#include "fil0fil.h"
@@ -1136,12 +1137,14 @@ retry:
return(TRUE);
}
- /* If InnoDB Hot Backup is running, then, at least in Windows 2000,
- we may get here a specific error. Let us retry the operation 10
- times. */
+ /* If some background file system backup tool is running, then, at
+ least in Windows 2000, we may get here a specific error. Let us
+ retry the operation 100 times, with 1 second waits. */
- if (GetLastError() == ERROR_LOCK_VIOLATION && n_retries < 10) {
+ if (GetLastError() == ERROR_LOCK_VIOLATION && n_retries < 100) {
+ os_thread_sleep(1000000);
+
n_retries++;
goto retry;