From 342c218262f8d82ddc144a5e7490e52a3a77c8fb Mon Sep 17 00:00:00 2001 From: Andrew Mackenzie Date: Sat, 26 Jan 2019 15:32:18 +0100 Subject: [PATCH] Implement Send+Sync for ModuleInstance & ModuleRef --- src/module.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/module.rs b/src/module.rs index bbce6de..e5ad87d 100644 --- a/src/module.rs +++ b/src/module.rs @@ -39,6 +39,9 @@ use {Error, MemoryInstance, Module, RuntimeValue, Signature, TableInstance}; #[derive(Clone, Debug)] pub struct ModuleRef(pub(crate) Rc); +unsafe impl Sync for ModuleRef {} +unsafe impl Send for ModuleRef {} + impl ::core::ops::Deref for ModuleRef { type Target = ModuleInstance; fn deref(&self) -> &ModuleInstance { @@ -164,6 +167,9 @@ pub struct ModuleInstance { exports: RefCell>, } +unsafe impl Sync for ModuleInstance {} +unsafe impl Send for ModuleInstance {} + impl ModuleInstance { fn default() -> Self { ModuleInstance {