summaryrefslogtreecommitdiff
path: root/tests/napi/src/tsfn.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2024-10-14 12:41:34 +0530
committerGitHub <noreply@github.com>2024-10-14 12:41:34 +0530
commitd22195e7416e7923e2868e3f250abb457f115fc6 (patch)
tree8d2f73dee5a9f9954901f022fb172fd5f77d3dfa /tests/napi/src/tsfn.rs
parent7c3da2ec1c12c8c16b04d89b7aec5e04cd2ff3be (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/src/tsfn.rs')
-rw-r--r--tests/napi/src/tsfn.rs6
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(