Implement Send+Sync for ModuleInstance & ModuleRef
This commit is contained in:
parent
ad14d82bce
commit
342c218262
|
@ -39,6 +39,9 @@ use {Error, MemoryInstance, Module, RuntimeValue, Signature, TableInstance};
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct ModuleRef(pub(crate) Rc<ModuleInstance>);
|
pub struct ModuleRef(pub(crate) Rc<ModuleInstance>);
|
||||||
|
|
||||||
|
unsafe impl Sync for ModuleRef {}
|
||||||
|
unsafe impl Send for ModuleRef {}
|
||||||
|
|
||||||
impl ::core::ops::Deref for ModuleRef {
|
impl ::core::ops::Deref for ModuleRef {
|
||||||
type Target = ModuleInstance;
|
type Target = ModuleInstance;
|
||||||
fn deref(&self) -> &ModuleInstance {
|
fn deref(&self) -> &ModuleInstance {
|
||||||
|
@ -164,6 +167,9 @@ pub struct ModuleInstance {
|
||||||
exports: RefCell<HashMap<String, ExternVal>>,
|
exports: RefCell<HashMap<String, ExternVal>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsafe impl Sync for ModuleInstance {}
|
||||||
|
unsafe impl Send for ModuleInstance {}
|
||||||
|
|
||||||
impl ModuleInstance {
|
impl ModuleInstance {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
ModuleInstance {
|
ModuleInstance {
|
||||||
|
|
Loading…
Reference in New Issue