mirror of
https://github.com/MariaDB/server.git
synced 2025-08-09 22:24:09 +03:00
Fix compile on windows: O_SYNC is not available, use a my_sync() call instead.
This commit is contained in:
@@ -358,7 +358,8 @@ bool rdb_check_rocksdb_corruption() {
|
|||||||
|
|
||||||
void rdb_persist_corruption_marker() {
|
void rdb_persist_corruption_marker() {
|
||||||
const std::string &fileName(myrocks::rdb_corruption_marker_file_name());
|
const std::string &fileName(myrocks::rdb_corruption_marker_file_name());
|
||||||
int fd = my_open(fileName.c_str(), O_CREAT | O_SYNC, MYF(MY_WME));
|
/* O_SYNC is not supported on windows */
|
||||||
|
int fd = my_open(fileName.c_str(), O_CREAT | IF_WIN(0, O_SYNC), MYF(MY_WME));
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
sql_print_error("RocksDB: Can't create file %s to mark rocksdb as "
|
sql_print_error("RocksDB: Can't create file %s to mark rocksdb as "
|
||||||
"corrupted.",
|
"corrupted.",
|
||||||
@@ -370,6 +371,12 @@ void rdb_persist_corruption_marker() {
|
|||||||
fileName.c_str());
|
fileName.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
/* A replacement for O_SYNC flag above */
|
||||||
|
if (fd >= 0)
|
||||||
|
my_sync(fd, MYF(0));
|
||||||
|
#endif
|
||||||
|
|
||||||
int ret = my_close(fd, MYF(MY_WME));
|
int ret = my_close(fd, MYF(MY_WME));
|
||||||
if (ret) {
|
if (ret) {
|
||||||
// NO_LINT_DEBUG
|
// NO_LINT_DEBUG
|
||||||
|
Reference in New Issue
Block a user