diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2024-10-14 12:41:34 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-14 12:41:34 +0530 |
commit | d22195e7416e7923e2868e3f250abb457f115fc6 (patch) | |
tree | 8d2f73dee5a9f9954901f022fb172fd5f77d3dfa /tests/napi | |
parent | 7c3da2ec1c12c8c16b04d89b7aec5e04cd2ff3be (diff) |
fix(ext/napi): pass user context to napi_threadsafe_fn finalizers (#26229)
Fixes https://github.com/denoland/deno/issues/26228
Diffstat (limited to 'tests/napi')
-rw-r--r-- | tests/napi/src/tsfn.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tests/napi/src/tsfn.rs b/tests/napi/src/tsfn.rs index dabc96f83..a3a231cec 100644 --- a/tests/napi/src/tsfn.rs +++ b/tests/napi/src/tsfn.rs @@ -46,6 +46,7 @@ fn create_custom_gc(env: sys::napi_env) { "Create async resource string in napi_register_module_v1 napi_register_module_v1" ); let mut custom_gc_tsfn = ptr::null_mut(); + let context = Box::into_raw(Box::new(0)) as *mut c_void; check_status_or_panic!( unsafe { sys::napi_create_threadsafe_function( @@ -57,7 +58,7 @@ fn create_custom_gc(env: sys::napi_env) { 1, ptr::null_mut(), Some(custom_gc_finalize), - ptr::null_mut(), + context, Some(custom_gc), &mut custom_gc_tsfn, ) @@ -80,8 +81,9 @@ unsafe extern "C" fn empty( unsafe extern "C" fn custom_gc_finalize( _env: sys::napi_env, _finalize_data: *mut c_void, - _finalize_hint: *mut c_void, + finalize_hint: *mut c_void, ) { + let _ = Box::from_raw(finalize_hint as *mut i32); } extern "C" fn custom_gc( |