Commit 78e42153 authored by Sergei Petrunia's avatar Sergei Petrunia

Fix compile on windows: O_SYNC is not available, use a my_sync() call instead.

parent 5545753b
......@@ -358,7 +358,8 @@ bool rdb_check_rocksdb_corruption() {
void rdb_persist_corruption_marker() {
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) {
sql_print_error("RocksDB: Can't create file %s to mark rocksdb as "
"corrupted.",
......@@ -370,6 +371,12 @@ void rdb_persist_corruption_marker() {
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));
if (ret) {
// NO_LINT_DEBUG
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment