Implement Send+Sync for ModuleInstance & ModuleRef

This commit is contained in:
Andrew Mackenzie 2019-01-26 15:32:18 +01:00
parent ad14d82bce
commit 342c218262
1 changed files with 6 additions and 0 deletions

View File

@ -39,6 +39,9 @@ use {Error, MemoryInstance, Module, RuntimeValue, Signature, TableInstance};
#[derive(Clone, Debug)]
pub struct ModuleRef(pub(crate) Rc<ModuleInstance>);
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<HashMap<String, ExternVal>>,
}
unsafe impl Sync for ModuleInstance {}
unsafe impl Send for ModuleInstance {}
impl ModuleInstance {
fn default() -> Self {
ModuleInstance {