1
0
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:
Sergei Petrunia
2018-04-13 20:26:40 +03:00
parent 5545753b0b
commit 78e42153b5

View File

@@ -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