• Home
  • Raw
  • Download

Lines Matching full:env

122 static void call_js(napi_env env, napi_value cb, void* hint, void* data) {  in call_js()  argument
123 if (!(env == NULL || cb == NULL)) { in call_js()
125 NODE_API_CALL_RETURN_VOID(env, napi_create_int32(env, *(int*)data, &argv)); in call_js()
126 NODE_API_CALL_RETURN_VOID(env, napi_get_undefined(env, &undefined)); in call_js()
127 NODE_API_CALL_RETURN_VOID(env, napi_call_function(env, undefined, cb, 1, &argv, in call_js()
134 static void call_ref(napi_env env, napi_value _, void* hint, void* data) { in call_ref() argument
135 if (!(env == NULL || alt_ref == NULL)) { in call_ref()
137 NODE_API_CALL_RETURN_VOID(env, napi_get_reference_value(env, alt_ref, &fn)); in call_ref()
138 NODE_API_CALL_RETURN_VOID(env, napi_create_int32(env, *(int*)data, &argv)); in call_ref()
139 NODE_API_CALL_RETURN_VOID(env, napi_get_undefined(env, &undefined)); in call_ref()
140 NODE_API_CALL_RETURN_VOID(env, napi_call_function(env, undefined, fn, 1, &argv, in call_ref()
146 static napi_value StopThread(napi_env env, napi_callback_info info) { in StopThread() argument
149 NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, argv, NULL, NULL)); in StopThread()
151 NODE_API_CALL(env, napi_typeof(env, argv[0], &value_type)); in StopThread()
152 NODE_API_ASSERT(env, value_type == napi_function, in StopThread()
154 NODE_API_ASSERT(env, (ts_fn != NULL), "Existing threadsafe function"); in StopThread()
155 NODE_API_CALL(env, in StopThread()
156 napi_create_reference(env, argv[0], 1, &(ts_info.js_finalize_cb))); in StopThread()
158 NODE_API_CALL(env, napi_get_value_bool(env, argv[1], &abort)); in StopThread()
159 NODE_API_CALL(env, in StopThread()
167 static void join_the_threads(napi_env env, void *data, void *hint) { in join_the_threads() argument
177 NODE_API_CALL_RETURN_VOID(env, in join_the_threads()
178 napi_get_reference_value(env, the_hint->js_finalize_cb, &js_cb)); in join_the_threads()
179 NODE_API_CALL_RETURN_VOID(env, napi_get_undefined(env, &undefined)); in join_the_threads()
180 NODE_API_CALL_RETURN_VOID(env, in join_the_threads()
181 napi_call_function(env, undefined, js_cb, 0, NULL, NULL)); in join_the_threads()
182 NODE_API_CALL_RETURN_VOID(env, napi_delete_reference(env, in join_the_threads()
185 NODE_API_CALL_RETURN_VOID(env, napi_delete_reference(env, alt_ref)); in join_the_threads()
190 static napi_value StartThreadInternal(napi_env env, in StartThreadInternal() argument
199 NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, argv, NULL, NULL)); in StartThreadInternal()
201 NODE_API_CALL(env, napi_create_reference(env, argv[0], 1, &alt_ref)); in StartThreadInternal()
208 NODE_API_ASSERT(env, (ts_fn == NULL), "Existing thread-safe function"); in StartThreadInternal()
210 NODE_API_CALL(env, napi_create_string_utf8(env, in StartThreadInternal()
212 NODE_API_CALL(env, in StartThreadInternal()
213 napi_get_value_uint32(env, argv[3], &ts_info.max_queue_size)); in StartThreadInternal()
214 NODE_API_CALL(env, napi_create_threadsafe_function(env, in StartThreadInternal()
226 NODE_API_CALL(env, napi_get_value_bool(env, argv[1], &abort)); in StartThreadInternal()
228 NODE_API_CALL(env, in StartThreadInternal()
229 napi_get_value_bool(env, argv[2], &(ts_info.start_secondary))); in StartThreadInternal()
231 NODE_API_ASSERT(env, in StartThreadInternal()
238 static napi_value Unref(napi_env env, napi_callback_info info) { in Unref() argument
239 NODE_API_ASSERT(env, ts_fn != NULL, "No existing thread-safe function"); in Unref()
240 NODE_API_CALL(env, napi_unref_threadsafe_function(env, ts_fn)); in Unref()
244 static napi_value Release(napi_env env, napi_callback_info info) { in Release() argument
245 NODE_API_ASSERT(env, ts_fn != NULL, "No existing thread-safe function"); in Release()
246 NODE_API_CALL(env, napi_release_threadsafe_function(ts_fn, napi_tsfn_release)); in Release()
251 static napi_value StartThread(napi_env env, napi_callback_info info) { in StartThread() argument
252 return StartThreadInternal(env, info, call_js, in StartThread()
256 static napi_value StartThreadNonblocking(napi_env env, in StartThreadNonblocking() argument
258 return StartThreadInternal(env, info, call_js, in StartThreadNonblocking()
262 static napi_value StartThreadNoNative(napi_env env, napi_callback_info info) { in StartThreadNoNative() argument
263 return StartThreadInternal(env, info, NULL, in StartThreadNoNative()
267 static napi_value StartThreadNoJsFunc(napi_env env, napi_callback_info info) { in StartThreadNoJsFunc() argument
268 return StartThreadInternal(env, info, call_ref, in StartThreadNoJsFunc()
273 static void ThreadSafeFunctionFinalize(napi_env env, in ThreadSafeFunctionFinalize() argument
279 NODE_API_CALL_RETURN_VOID(env, napi_get_reference_value(env, js_func_ref, &js_func)); in ThreadSafeFunctionFinalize()
280 NODE_API_CALL_RETURN_VOID(env, napi_get_global(env, &recv)); in ThreadSafeFunctionFinalize()
281 NODE_API_CALL_RETURN_VOID(env, napi_call_function(env, recv, js_func, 0, NULL, NULL)); in ThreadSafeFunctionFinalize()
282 NODE_API_CALL_RETURN_VOID(env, napi_delete_reference(env, js_func_ref)); in ThreadSafeFunctionFinalize()
286 static napi_value CallIntoModule(napi_env env, napi_callback_info info) { in CallIntoModule() argument
289 NODE_API_CALL(env, napi_get_cb_info(env, info, &argc, argv, NULL, NULL)); in CallIntoModule()
292 NODE_API_CALL(env, napi_create_reference(env, argv[3], 1, &finalize_func)); in CallIntoModule()
295 …NODE_API_CALL(env, napi_create_threadsafe_function(env, argv[0], argv[1], argv[2], 0, 1, finalize_… in CallIntoModule()
296 NODE_API_CALL(env, napi_call_threadsafe_function(tsfn, NULL, napi_tsfn_blocking)); in CallIntoModule()
297 NODE_API_CALL(env, napi_release_threadsafe_function(tsfn, napi_tsfn_release)); in CallIntoModule()
302 static napi_value Init(napi_env env, napi_value exports) { in Init() argument
308 napi_create_uint32(env, ARRAY_LENGTH, &js_array_length); in Init()
309 napi_create_uint32(env, MAX_QUEUE_SIZE, &js_max_queue_size); in Init()
342 NODE_API_CALL(env, napi_define_properties(env, exports, in Init()