Skip to content

Commit b150db2

Browse files
committed
Passing node loader to callback trampoline in node loader.
1 parent d9a28f8 commit b150db2

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

source/loaders/node_loader/source/node_loader_impl.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ typedef napi_value (*future_reject_trampoline)(loader_impl_node, future_reject_c
224224

225225
typedef struct loader_impl_async_future_await_trampoline_type
226226
{
227+
loader_impl_node node_loader;
227228
future_resolve_trampoline resolve_trampoline;
228229
future_reject_trampoline reject_trampoline;
229230
future_resolve_callback resolve_callback;
@@ -1301,6 +1302,7 @@ void node_loader_impl_async_future_await(uv_async_t * async)
13011302
napi_ref trampoline_ref;
13021303

13031304
/* Set trampoline object values */
1305+
trampoline->node_loader = async_data->node_impl;
13041306
trampoline->resolve_trampoline = &node_loader_impl_async_future_resolve;
13051307
trampoline->reject_trampoline = &node_loader_impl_async_future_reject;
13061308
trampoline->resolve_callback = async_data->resolve_callback;

source/loaders/node_loader/trampoline/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ if(MSVC)
5656
FOLDER "${IDE_FOLDER}"
5757
)
5858

59-
add_dependencies(${target} ${target_binding})
59+
add_dependencies(${target_binding} ${target})
6060
else()
6161
add_custom_target(${target} ALL
6262
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}

source/loaders/node_loader/trampoline/source/trampoline.cc

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ typedef napi_value (*future_reject_trampoline)(void *, future_reject_callback, n
3131

3232
typedef struct loader_impl_async_future_await_trampoline_type
3333
{
34+
void * node_loader;
3435
future_resolve_trampoline resolve_trampoline;
3536
future_reject_trampoline reject_trampoline;
3637
future_resolve_callback resolve_callback;
@@ -169,10 +170,8 @@ napi_value node_loader_trampoline_resolve(napi_env env, napi_callback_info info)
169170
napi_value args[args_size];
170171
napi_valuetype valuetype[args_size];
171172

172-
void * node_loader;
173-
174173
/* Parse arguments */
175-
status = napi_get_cb_info(env, info, &argc, args, nullptr, &node_loader);
174+
status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
176175

177176
assert(status == napi_ok);
178177

@@ -214,7 +213,7 @@ napi_value node_loader_trampoline_resolve(napi_env env, napi_callback_info info)
214213
/* Execute the callback */
215214
loader_impl_async_future_await_trampoline trampoline = static_cast<loader_impl_async_future_await_trampoline>(result);
216215

217-
return trampoline->resolve_trampoline(node_loader, trampoline->resolve_callback, args[1], trampoline->context);
216+
return trampoline->resolve_trampoline(trampoline->node_loader, trampoline->resolve_callback, args[1], trampoline->context);
218217
}
219218

220219
napi_value node_loader_trampoline_reject(napi_env env, napi_callback_info info)
@@ -227,10 +226,8 @@ napi_value node_loader_trampoline_reject(napi_env env, napi_callback_info info)
227226
napi_value args[args_size];
228227
napi_valuetype valuetype[args_size];
229228

230-
void * node_loader;
231-
232229
/* Parse arguments */
233-
status = napi_get_cb_info(env, info, &argc, args, nullptr, &node_loader);
230+
status = napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
234231

235232
assert(status == napi_ok);
236233

@@ -272,7 +269,7 @@ napi_value node_loader_trampoline_reject(napi_env env, napi_callback_info info)
272269
/* Execute the callback */
273270
loader_impl_async_future_await_trampoline trampoline = static_cast<loader_impl_async_future_await_trampoline>(result);
274271

275-
return trampoline->reject_trampoline(node_loader, trampoline->reject_callback, args[1], trampoline->context);
272+
return trampoline->reject_trampoline(trampoline->node_loader, trampoline->reject_callback, args[1], trampoline->context);
276273
}
277274

278275
napi_value node_loader_trampoline_initialize(napi_env env, napi_value exports)

0 commit comments

Comments
 (0)