Skip to content
This repository was archived by the owner on Mar 24, 2022. It is now read-only.

Commit 906fafc

Browse files
committed
lucet-wiggle: run post_hook after ctx borrow has been returned.
1 parent b628bb9 commit 906fafc

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

  • lucet-wiggle/generate/src

lucet-wiggle/generate/src/lib.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,13 @@ pub fn generate(doc: &witx::Document, config: &Config) -> TokenStream {
7272
#[no_mangle]
7373
pub fn #name(vmctx: &lucet_runtime::vmctx::Vmctx, #(#func_args),*) -> #ret_ty {
7474
{ #pre_hook }
75-
let mut heap = vmctx.heap_mut();
76-
let memory = lucet_wiggle::runtime::LucetMemory::new(&mut *heap);
77-
let mut ctx_ref: std::cell::RefMut<#ctx> = vmctx.get_embed_ctx_mut();
78-
let ctx: &mut #ctx = &mut *ctx_ref;
79-
let r = #body;
75+
let r = {
76+
let mut heap = vmctx.heap_mut();
77+
let memory = lucet_wiggle::runtime::LucetMemory::new(&mut *heap);
78+
let mut ctx_ref: std::cell::RefMut<#ctx> = vmctx.get_embed_ctx_mut();
79+
let ctx: &mut #ctx = &mut *ctx_ref;
80+
#body;
81+
}
8082
{ #post_hook }
8183
match r {
8284
Ok(r) => { r },

0 commit comments

Comments
 (0)