diff --git a/Source/Noesis.Javascript/JavascriptContext.cpp b/Source/Noesis.Javascript/JavascriptContext.cpp index 1f01ce5..121451d 100644 --- a/Source/Noesis.Javascript/JavascriptContext.cpp +++ b/Source/Noesis.Javascript/JavascriptContext.cpp @@ -26,7 +26,6 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //////////////////////////////////////////////////////////////////////////////////////////////////// -#include #include #include #include @@ -96,20 +95,17 @@ namespace Noesis { namespace Javascript { strcpy_s(strrchr(icudtl_dat_path, '\\'), 12, "\\icudtl.dat"); } - std::atomic_flag initalized = ATOMIC_FLAG_INIT; // This code didn't work in managed code, probably due to too-clever smart pointers. void UnmanagedInitialisation() { - if (!initalized.test_and_set(std::memory_order_acquire)) { - // Get location of DLL so that v8 can use it to find its .bin files. - char dll_path[MAX_PATH], natives_blob_bin_path[MAX_PATH], snapshot_blob_bin_path[MAX_PATH], icudtl_dat_path[MAX_PATH]; - GetPathsForInitialisation(dll_path, natives_blob_bin_path, snapshot_blob_bin_path, icudtl_dat_path); - v8::V8::InitializeICUDefaultLocation(dll_path, icudtl_dat_path); - v8::V8::InitializeExternalStartupData(natives_blob_bin_path, snapshot_blob_bin_path); - v8::Platform *platform = v8::platform::NewDefaultPlatform().release(); - v8::V8::InitializePlatform(platform); - v8::V8::Initialize(); - } + // Get location of DLL so that v8 can use it to find its .bin files. + char dll_path[MAX_PATH], natives_blob_bin_path[MAX_PATH], snapshot_blob_bin_path[MAX_PATH], icudtl_dat_path[MAX_PATH]; + GetPathsForInitialisation(dll_path, natives_blob_bin_path, snapshot_blob_bin_path, icudtl_dat_path); + v8::V8::InitializeICUDefaultLocation(dll_path, icudtl_dat_path); + v8::V8::InitializeExternalStartupData(natives_blob_bin_path, snapshot_blob_bin_path); + v8::Platform *platform = v8::platform::NewDefaultPlatform().release(); + v8::V8::InitializePlatform(platform); + v8::V8::Initialize(); } #pragma managed(pop) diff --git a/Tests/Noesis.Javascript.Tests/MultipleAppDomainsTest.cs b/Tests/Noesis.Javascript.Tests/MultipleAppDomainsTest.cs deleted file mode 100644 index 4070123..0000000 --- a/Tests/Noesis.Javascript.Tests/MultipleAppDomainsTest.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Reflection; -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Noesis.Javascript.Tests -{ - [TestClass] - public class MultipleAppDomainsTest - { - private void ConstructContextInNewDomain() - { - var domainSetup = new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.BaseDirectory }; - var domain = AppDomain.CreateDomain(typeof(MultipleAppDomainsTest).FullName, null, domainSetup); - var javascriptNetAssembly = domain.Load(typeof(JavascriptContext).Assembly.FullName); - domain.CreateInstance(typeof(JavascriptContext).Assembly.FullName, typeof(JavascriptContext).FullName); - } - - [TestMethod] - public void ConstructionContextInTwoDifferentAppDomainTests() - { - ConstructContextInNewDomain(); - ConstructContextInNewDomain(); - } - } -} diff --git a/Tests/Noesis.Javascript.Tests/Noesis.Javascript.Tests.csproj b/Tests/Noesis.Javascript.Tests/Noesis.Javascript.Tests.csproj index 36d557d..6709fc8 100644 --- a/Tests/Noesis.Javascript.Tests/Noesis.Javascript.Tests.csproj +++ b/Tests/Noesis.Javascript.Tests/Noesis.Javascript.Tests.csproj @@ -89,7 +89,6 @@ -