diff --git a/src/core.c b/src/core.c index 71dee172..881b9380 100644 --- a/src/core.c +++ b/src/core.c @@ -19853,14 +19853,10 @@ __cold int mdbx_env_copy(MDBX_env *env, const char *dest_path, #endif ); - if (rc == MDBX_SUCCESS) { #if defined(_WIN32) || defined(_WIN64) - OVERLAPPED ov; - memset(&ov, 0, sizeof(ov)); - if (!LockFileEx(newfd, LOCKFILE_EXCLUSIVE_LOCK | LOCKFILE_FAIL_IMMEDIATELY, - 0, 0, INT32_MAX, &ov)) - rc = GetLastError(); + /* no locking required since the file opened with ShareMode == 0 */ #else + if (rc == MDBX_SUCCESS) { struct flock lock_op; memset(&lock_op, 0, sizeof(lock_op)); lock_op.l_type = F_WRLCK; @@ -19875,8 +19871,8 @@ __cold int mdbx_env_copy(MDBX_env *env, const char *dest_path, #endif /* Linux */ ) rc = errno; -#endif /* Windows / POSIX */ } +#endif /* Windows / POSIX */ if (rc == MDBX_SUCCESS) rc = mdbx_env_copy2fd(env, newfd, flags);