From 74af5c4191ff6894f7be384b015ff0e8a6e5f61f Mon Sep 17 00:00:00 2001 From: Chuck Atkins <chuck.atkins@kitware.com> Date: Tue, 20 Jun 2017 14:54:26 -0600 Subject: [PATCH] Disable the POSIX transport on Windows --- source/adios2/ADIOSTypes.h | 4 ++++ source/adios2/CMakeLists.txt | 5 ++++- source/adios2/engine/bp/BPFileWriter.cpp | 2 -- .../toolkit/transportman/TransportMan.cpp | 19 ++++++++++++------- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/source/adios2/ADIOSTypes.h b/source/adios2/ADIOSTypes.h index 458193c71..b689e840c 100644 --- a/source/adios2/ADIOSTypes.h +++ b/source/adios2/ADIOSTypes.h @@ -141,7 +141,11 @@ enum class SelectionType }; // adios defaults +#ifdef _WIN32 +const std::string DefaultFileLibrary("stdio"); +#else const std::string DefaultFileLibrary("POSIX"); +#endif const std::string DefaultTimeUnit("Microseconds"); constexpr TimeUnit DefaultTimeUnitEnum(TimeUnit::Microseconds); diff --git a/source/adios2/CMakeLists.txt b/source/adios2/CMakeLists.txt index 79e779d23..f48e0924e 100644 --- a/source/adios2/CMakeLists.txt +++ b/source/adios2/CMakeLists.txt @@ -35,7 +35,6 @@ add_library(adios2 toolkit/profiling/iochrono/Timer.cpp toolkit/transport/Transport.cpp - toolkit/transport/file/FileDescriptor.cpp toolkit/transport/file/FilePointer.cpp toolkit/transport/file/FileStream.cpp @@ -53,6 +52,10 @@ target_include_directories(adios2 find_package(Threads REQUIRED) target_link_libraries(adios2 PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +if(UNIX) + target_sources(adios2 PRIVATE toolkit/transport/file/FileDescriptor.cpp) +endif() + if(ADIOS2_HAVE_SysVShMem) target_sources(adios2 PRIVATE toolkit/capsule/shmem/ShmSystemV.cpp) endif() diff --git a/source/adios2/engine/bp/BPFileWriter.cpp b/source/adios2/engine/bp/BPFileWriter.cpp index f6001622c..c8e6fcef4 100644 --- a/source/adios2/engine/bp/BPFileWriter.cpp +++ b/source/adios2/engine/bp/BPFileWriter.cpp @@ -14,8 +14,6 @@ #include "adios2/ADIOSMPI.h" #include "adios2/core/IO.h" #include "adios2/helper/adiosFunctions.h" //CheckIndexRange -#include "adios2/toolkit/transport/file/FileDescriptor.h" -#include "adios2/toolkit/transport/file/FilePointer.h" #include "adios2/toolkit/transport/file/FileStream.h" namespace adios2 diff --git a/source/adios2/toolkit/transportman/TransportMan.cpp b/source/adios2/toolkit/transportman/TransportMan.cpp index fc7fedc28..efbd4f21d 100644 --- a/source/adios2/toolkit/transportman/TransportMan.cpp +++ b/source/adios2/toolkit/transportman/TransportMan.cpp @@ -15,10 +15,13 @@ /// \endcond #include "adios2/helper/adiosFunctions.h" //CreateDirectory -#include "adios2/toolkit/transport/file/FileDescriptor.h" #include "adios2/toolkit/transport/file/FilePointer.h" #include "adios2/toolkit/transport/file/FileStream.h" +#ifndef _WIN32 +#include "adios2/toolkit/transport/file/FileDescriptor.h" +#endif + namespace adios2 { namespace transportman @@ -204,12 +207,7 @@ void TransportMan::OpenFileTransport(const std::string &fileName, { auto lf_SetFileTransport = [&](const std::string library, std::shared_ptr<Transport> &transport) { - if (library == "POSIX") - { - transport = std::make_shared<transport::FileDescriptor>( - m_MPIComm, m_DebugMode); - } - else if (library == "stdio") + if (library == "stdio") { transport = std::make_shared<transport::FilePointer>(m_MPIComm, m_DebugMode); @@ -219,6 +217,13 @@ void TransportMan::OpenFileTransport(const std::string &fileName, transport = std::make_shared<transport::FileStream>(m_MPIComm, m_DebugMode); } +#ifndef _WIN32 + else if (library == "POSIX") + { + transport = std::make_shared<transport::FileDescriptor>( + m_MPIComm, m_DebugMode); + } +#endif else { if (m_DebugMode) -- GitLab