From 1c83ea8c37ed25777581304d6de66eefbb5b3277 Mon Sep 17 00:00:00 2001 From: chengtbf <472491134@qq.com> Date: Thu, 21 Sep 2017 11:27:57 +0800 Subject: [PATCH] fix Windows for DeleteFile macro and Socket lib (#359) Former-commit-id: a07174d7731e34e72bbfac56adf109c7c14acc4b --- cmake/third_party.cmake | 1 + oneflow/core/persistence/file_system.cpp | 2 +- oneflow/core/persistence/file_system.h | 7 ++----- oneflow/core/persistence/hadoop/hadoop_file_system.cpp | 2 +- oneflow/core/persistence/hadoop/hadoop_file_system.h | 2 +- oneflow/core/persistence/posix/posix_file_system.cpp | 2 +- oneflow/core/persistence/posix/posix_file_system.h | 2 +- oneflow/core/persistence/snapshot.cpp | 2 +- oneflow/core/persistence/windows/windows_file_system.cpp | 2 +- oneflow/core/persistence/windows/windows_file_system.h | 4 +--- 10 files changed, 11 insertions(+), 15 deletions(-) diff --git a/cmake/third_party.cmake b/cmake/third_party.cmake index dcdd6ed500..ae0cf83635 100644 --- a/cmake/third_party.cmake +++ b/cmake/third_party.cmake @@ -40,6 +40,7 @@ set(oneflow_third_party_libs if(WIN32) # static gflags lib requires "PathMatchSpecA" defined in "ShLwApi.Lib" list(APPEND oneflow_third_party_libs "ShLwApi.Lib") + list(APPEND oneflow_third_party_libs "Ws2_32.lib") endif() set(oneflow_third_party_dependencies diff --git a/oneflow/core/persistence/file_system.cpp b/oneflow/core/persistence/file_system.cpp index 10495a3fee..0790db9b6a 100644 --- a/oneflow/core/persistence/file_system.cpp +++ b/oneflow/core/persistence/file_system.cpp @@ -45,7 +45,7 @@ void FileSystem::RecursivelyDeleteDir(const std::string& dirname) { } else { // Delete file might fail because of permissions issues or might be // unimplemented. - DeleteFile(child_path); + DelFile(child_path); } } } diff --git a/oneflow/core/persistence/file_system.h b/oneflow/core/persistence/file_system.h index fb0a610bb6..89022b136d 100644 --- a/oneflow/core/persistence/file_system.h +++ b/oneflow/core/persistence/file_system.h @@ -4,10 +4,6 @@ #include "oneflow/core/common/util.h" #include "oneflow/core/persistence/platform.h" -#if defined(_WIN32) -#undef DeleteFile -#endif - namespace oneflow { namespace fs { @@ -114,7 +110,8 @@ class FileSystem { virtual std::vector ListDir(const std::string& dir) = 0; // Deletes the named file. - virtual void DeleteFile(const std::string& fname) = 0; + // Using DelFile to avoid Windows macro + virtual void DelFile(const std::string& fname) = 0; // Creates the specified directory. virtual void CreateDir(const std::string& dirname) = 0; diff --git a/oneflow/core/persistence/hadoop/hadoop_file_system.cpp b/oneflow/core/persistence/hadoop/hadoop_file_system.cpp index 70489a6c84..bfb5ea3678 100644 --- a/oneflow/core/persistence/hadoop/hadoop_file_system.cpp +++ b/oneflow/core/persistence/hadoop/hadoop_file_system.cpp @@ -330,7 +330,7 @@ std::vector HadoopFileSystem::ListDir(const std::string& dir) { return result; } -void HadoopFileSystem::DeleteFile(const std::string& fname) { +void HadoopFileSystem::DelFile(const std::string& fname) { hdfsFS fs = nullptr; CHECK(Connect(&fs)); PCHECK(hdfs_->hdfsDelete(fs, TranslateName(fname).c_str(), /*recursive=*/0) diff --git a/oneflow/core/persistence/hadoop/hadoop_file_system.h b/oneflow/core/persistence/hadoop/hadoop_file_system.h index 72e0adb1d3..c8ca5944bc 100644 --- a/oneflow/core/persistence/hadoop/hadoop_file_system.h +++ b/oneflow/core/persistence/hadoop/hadoop_file_system.h @@ -78,7 +78,7 @@ class HadoopFileSystem final : public FileSystem { std::vector ListDir(const std::string& dir) override; - void DeleteFile(const std::string& fname) override; + void DelFile(const std::string& fname) override; void CreateDir(const std::string& dirname) override; diff --git a/oneflow/core/persistence/posix/posix_file_system.cpp b/oneflow/core/persistence/posix/posix_file_system.cpp index 1c53116bcf..f2e1c38849 100644 --- a/oneflow/core/persistence/posix/posix_file_system.cpp +++ b/oneflow/core/persistence/posix/posix_file_system.cpp @@ -125,7 +125,7 @@ std::vector PosixFileSystem::ListDir(const std::string& dir) { return result; } -void PosixFileSystem::DeleteFile(const std::string& fname) { +void PosixFileSystem::DelFile(const std::string& fname) { PCHECK(unlink(TranslateName(fname).c_str()) == 0) << "Fail to delete file " << fname; } diff --git a/oneflow/core/persistence/posix/posix_file_system.h b/oneflow/core/persistence/posix/posix_file_system.h index 703ccdb535..da9252a101 100644 --- a/oneflow/core/persistence/posix/posix_file_system.h +++ b/oneflow/core/persistence/posix/posix_file_system.h @@ -28,7 +28,7 @@ class PosixFileSystem final : public FileSystem { std::vector ListDir(const std::string& dir) override; - void DeleteFile(const std::string& fname) override; + void DelFile(const std::string& fname) override; void CreateDir(const std::string& dirname) override; diff --git a/oneflow/core/persistence/snapshot.cpp b/oneflow/core/persistence/snapshot.cpp index 80641c820b..70df3a2f35 100644 --- a/oneflow/core/persistence/snapshot.cpp +++ b/oneflow/core/persistence/snapshot.cpp @@ -70,7 +70,7 @@ void Snapshot::ConcatLbnFile(const std::string& lbn, int32_t part_num, out_stream.Write(buffer, n); offset += n; } - GlobalFS()->DeleteFile(part_file_path); + GlobalFS()->DelFile(part_file_path); } } GlobalFS()->DeleteDir(part_dir); diff --git a/oneflow/core/persistence/windows/windows_file_system.cpp b/oneflow/core/persistence/windows/windows_file_system.cpp index 0d6d2a8727..1518b56393 100644 --- a/oneflow/core/persistence/windows/windows_file_system.cpp +++ b/oneflow/core/persistence/windows/windows_file_system.cpp @@ -222,7 +222,7 @@ std::vector WindowsFileSystem::ListDir(const std::string& dir) { return result; } -void WindowsFileSystem::DeleteFile(const std::string& fname) { +void WindowsFileSystem::DelFile(const std::string& fname) { std::wstring file_name = Utf8ToWideChar(fname); PCHECK(_wunlink(file_name.c_str()) == 0) << "Failed to delete a file: " + fname; diff --git a/oneflow/core/persistence/windows/windows_file_system.h b/oneflow/core/persistence/windows/windows_file_system.h index 7697c92ae3..198cf25e12 100644 --- a/oneflow/core/persistence/windows/windows_file_system.h +++ b/oneflow/core/persistence/windows/windows_file_system.h @@ -7,8 +7,6 @@ #include -#undef DeleteFile - namespace oneflow { namespace fs { @@ -32,7 +30,7 @@ class WindowsFileSystem final : public FileSystem { std::vector ListDir(const std::string& dir) override; - void DeleteFile(const std::string& fname) override; + void DelFile(const std::string& fname) override; void CreateDir(const std::string& dirname) override; -- GitLab