aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/module.rs
diff options
context:
space:
mode:
authorGravatar Per Lindgren <per.lindgren@ltu.se> 2023-01-12 08:50:12 +0100
committerGravatar Henrik Tjäder <henrik@tjaders.com> 2023-03-01 00:33:30 +0100
commit5688a5d332cdaffaca64ade5b138a3676ac7cd32 (patch)
tree5520a22c541a712239bca5604694ec7baf8f63fa /macros/src/codegen/module.rs
parentd6d58b0eb88242cf63724e1420bd29f8a4489916 (diff)
downloadrtic-5688a5d332cdaffaca64ade5b138a3676ac7cd32.tar.gz
rtic-5688a5d332cdaffaca64ade5b138a3676ac7cd32.tar.zst
rtic-5688a5d332cdaffaca64ade5b138a3676ac7cd32.zip
executor update for less unsafe and more clear
Diffstat (limited to 'macros/src/codegen/module.rs')
-rw-r--r--macros/src/codegen/module.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/macros/src/codegen/module.rs b/macros/src/codegen/module.rs
index 666bd042..f4c188a4 100644
--- a/macros/src/codegen/module.rs
+++ b/macros/src/codegen/module.rs
@@ -156,11 +156,8 @@ pub fn codegen(ctxt: Context, app: &App, analysis: &Analysis) -> TokenStream2 {
#[allow(non_snake_case)]
#[doc(hidden)]
pub fn #internal_spawn_ident(#(#input_args,)*) -> Result<(), #input_ty> {
- if #exec_name.try_reserve() {
- // This unsafe is protected by `try_reserve`, see its documentation for details
- unsafe {
- #exec_name.spawn_unchecked(#name(#name::Context::new() #(,#input_untupled)*));
- }
+
+ if #exec_name.spawn(|| #name(unsafe { #name::Context::new() } #(,#input_untupled)*) ) {
#pend_interrupt
@@ -168,6 +165,7 @@ pub fn codegen(ctxt: Context, app: &App, analysis: &Analysis) -> TokenStream2 {
} else {
Err(#input_tupled)
}
+
}
));