diff --git a/veilid-core/src/intf/wasm/block_store.rs b/veilid-core/src/intf/wasm/block_store.rs index d4873b2f..385725f8 100644 --- a/veilid-core/src/intf/wasm/block_store.rs +++ b/veilid-core/src/intf/wasm/block_store.rs @@ -1,4 +1,5 @@ +use crate::xx::*; use crate::*; struct BlockStoreInner { diff --git a/veilid-core/src/intf/wasm/table_store.rs b/veilid-core/src/intf/wasm/table_store.rs index 03874d5a..51c6bda1 100644 --- a/veilid-core/src/intf/wasm/table_store.rs +++ b/veilid-core/src/intf/wasm/table_store.rs @@ -1,4 +1,7 @@ +use super::*; + use crate::intf::table_db::*; +use crate::xx::*; use crate::*; use keyvaluedb_web::*; diff --git a/veilid-core/src/xx/must_join_handle.rs b/veilid-core/src/xx/must_join_handle.rs index a5023ff2..2b96e266 100644 --- a/veilid-core/src/xx/must_join_handle.rs +++ b/veilid-core/src/xx/must_join_handle.rs @@ -17,6 +17,7 @@ impl MustJoinHandle { } } + #[allow(unused_mut)] pub async fn abort(mut self) { if !self.completed { cfg_if! { @@ -31,7 +32,13 @@ impl MustJoinHandle { let _ = jh.await; self.completed = true; } + } else if #[cfg(target_arch = "wasm32")] { + drop(self.join_handle.take()); + self.completed = true; + } else { + compile_error!("needs executor implementation") } + } } } @@ -58,6 +65,10 @@ impl Future for MustJoinHandle { Poll::Ready(t) } else if #[cfg(feature="rt-tokio")] { Poll::Ready(t.unwrap()) + }else if #[cfg(target_arch = "wasm32")] { + Poll::Ready(t) + } else { + compile_error!("needs executor implementation") } } }