diff --git a/Builds/VisualStudio2015/RippleD.vcxproj b/Builds/VisualStudio2015/RippleD.vcxproj
index 5e0e2db0d40..b9fc475160c 100644
--- a/Builds/VisualStudio2015/RippleD.vcxproj
+++ b/Builds/VisualStudio2015/RippleD.vcxproj
@@ -1651,11 +1651,6 @@
-
- True
-
-
-
True
diff --git a/Builds/VisualStudio2015/RippleD.vcxproj.filters b/Builds/VisualStudio2015/RippleD.vcxproj.filters
index 90f32e1ee82..4c84b60b7f4 100644
--- a/Builds/VisualStudio2015/RippleD.vcxproj.filters
+++ b/Builds/VisualStudio2015/RippleD.vcxproj.filters
@@ -2283,12 +2283,6 @@
ripple\beast\core
-
- ripple\beast\core
-
-
- ripple\beast\core
-
ripple\beast\core
diff --git a/src/ripple/app/main/Main.cpp b/src/ripple/app/main/Main.cpp
index bf18c6827c0..8e0034ca5de 100644
--- a/src/ripple/app/main/Main.cpp
+++ b/src/ripple/app/main/Main.cpp
@@ -38,7 +38,6 @@
#include
#include
#include
-#include
#include
#include
@@ -57,6 +56,10 @@
#include
#include
+#ifdef _MSC_VER
+#include
+#include
+#endif
#if BOOST_VERSION >= 106400
#define HAS_BOOST_PROCESS 1
@@ -588,11 +591,22 @@ int run (int argc, char** argv)
//
int main (int argc, char** argv)
{
- // Workaround for Boost.Context / Boost.Coroutine
- // https://svn.boost.org/trac/boost/ticket/10657
- (void)beast::currentTimeMillis();
-
#ifdef _MSC_VER
+ {
+ // Work around for https://svn.boost.org/trac/boost/ticket/10657
+ // Reported against boost version 1.56.0. If an application's
+ // first call to GetTimeZoneInformation is from a coroutine, an
+ // unhandled exception is generated. A workaround is to call
+ // GetTimeZoneInformation at least once before launching any
+ // coroutines. At the time of this writing the _ftime call is
+ // used to initialize the timezone information.
+ struct _timeb t;
+ #ifdef _INC_TIME_INL
+ _ftime_s (&t);
+ #else
+ _ftime (&t);
+ #endif
+ }
ripple::sha512_deprecatedMSVCWorkaround();
#endif
diff --git a/src/ripple/beast/core/Time.cpp b/src/ripple/beast/core/Time.cpp
deleted file mode 100644
index 857cb1426db..00000000000
--- a/src/ripple/beast/core/Time.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Portions of this file are from JUCE.
- Copyright (c) 2013 - Raw Material Software Ltd.
- Please visit http://www.juce.com
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#include
-
-namespace beast
-{
-
-std::int64_t currentTimeMillis()
-{
- #if BEAST_WINDOWS
- struct _timeb t;
- #ifdef _INC_TIME_INL
- _ftime_s (&t);
- #else
- _ftime (&t);
- #endif
- return ((std::int64_t) t.time) * 1000 + t.millitm;
- #else
- struct timeval tv;
- gettimeofday (&tv, nullptr);
- return ((std::int64_t) tv.tv_sec) * 1000 + tv.tv_usec / 1000;
- #endif
-}
-
-} // beast
diff --git a/src/ripple/beast/core/Time.h b/src/ripple/beast/core/Time.h
deleted file mode 100644
index 95b1b33d7d2..00000000000
--- a/src/ripple/beast/core/Time.h
+++ /dev/null
@@ -1,35 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Portions of this file are from JUCE.
- Copyright (c) 2013 - Raw Material Software Ltd.
- Please visit http://www.juce.com
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_MODULE_CORE_TIME_TIME_H_INCLUDED
-#define BEAST_MODULE_CORE_TIME_TIME_H_INCLUDED
-
-#include
-
-namespace beast {
-
-std::int64_t currentTimeMillis();
-
-} // beast
-
-#endif // BEAST_TIME_H_INCLUDED
diff --git a/src/ripple/beast/core/core.unity.cpp b/src/ripple/beast/core/core.unity.cpp
index 83dd1dfca79..35a95a9ce01 100644
--- a/src/ripple/beast/core/core.unity.cpp
+++ b/src/ripple/beast/core/core.unity.cpp
@@ -193,7 +193,6 @@
#include
#include
#include
-#include
#include
#ifdef _CRTDBG_MAP_ALLOC