You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Note: If we are also a pthread, the call below could theoretically be done synchronously. However if the target pthread is waiting for a mutex from us, then
2473
-
// these two threads will deadlock. At the moment, we'd like to consider that this kind of deadlock would be an Emscripten runtime bug, although if
2474
-
// emscripten_set_canvas_element_size() was documented to require running an event in the queue of thread that owns the OffscreenCanvas, then that might be ok.
2475
-
// (safer this way however)
2476
-
__emscripten_call_on_thread(0,targetThread,{{{cDefine('EM_PROXIED_RESIZE_OFFSCREENCANVAS')}}},0,targetCanvasPtr/* satellite data */,varargs);
// Note: If we are also a pthread, the call below could theoretically be done synchronously. However if the target pthread is waiting for a mutex from us, then
2474
+
// these two threads will deadlock. At the moment, we'd like to consider that this kind of deadlock would be an Emscripten runtime bug, although if
2475
+
// emscripten_set_canvas_element_size() was documented to require running an event in the queue of thread that owns the OffscreenCanvas, then that might be ok.
2476
+
// (safer this way however)
2477
+
__emscripten_call_on_thread(0,targetThread,{{{cDefine('EM_PROXIED_RESIZE_OFFSCREENCANVAS')}}},0,targetCanvasPtr/* satellite data */,varargs);
Copy file name to clipboardExpand all lines: src/library_pthread.js
+28-28Lines changed: 28 additions & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -1265,39 +1265,39 @@ var LibraryPThread = {
1265
1265
// all the args here.
1266
1266
// We also pass 'sync' to C separately, since C needs to look at it.
1267
1267
varnumCallArgs=arguments.length-2;
1268
+
varouterArgs=arguments;
1268
1269
#if ASSERTIONS
1269
1270
if(numCallArgs>{{{cDefine('EM_QUEUED_JS_CALL_MAX_ARGS')}}}-1)throw'emscripten_proxy_to_main_thread_js: Too many arguments '+numCallArgs+' to proxied function idx='+index+', maximum supported is '+({{{cDefine('EM_QUEUED_JS_CALL_MAX_ARGS')}}}-1)+'!';
1270
1271
#endif
1271
1272
// Allocate a buffer, which will be copied by the C code.
1272
-
varstack=stackSave();
1273
-
// First passed parameter specifies the number of arguments to the function.
1274
-
// When BigInt support is enabled, we must handle types in a more complex
1275
-
// way, detecting at runtime if a value is a BigInt or not (as we have no
1276
-
// type info here). To do that, add a "prefix" before each value that
1277
-
// indicates if it is a BigInt, which effectively doubles the number of
1278
-
// values we serialize for proxying. TODO: pack this?
0 commit comments