Just for posterity: We managed to put all operations manipulating JS 
objects (such as Blobs) on one thread and get rid of this requirement.

On Saturday, 30 October 2021 at 00:07:25 UTC+2 [email protected] wrote:

> On Fri, Oct 29, 2021 at 1:49 AM 'Márton Marczell' via emscripten-discuss <
> [email protected]> wrote:
>
>>
>> Thank you for the suggestions. My reason for asking is that our code, 
>> although mostly C++, holds on to certain resources only available by 
>> "dropping down" to JS calls, and would like to move them between workers.
>> We first implemented this on top of the objectTransfer message as seen in 
>> https://github.com/emscripten-core/emscripten/issues/8212, but that was 
>> undocumented, and then it got removed.
>>
>>
> So you want to not only run code on a certain thread but also transfer 
> over JS objects to the target thread?   Thats hard in the general case 
> because postMessage messages only occur when a thread yeilds to the event 
> loop, and pthreads don't normally do that.    Is there some way you can 
> restructure your application to use native heap objects rather than JS 
> objects?
>
>  
>
>>
>> On Friday, 29 October 2021 at 01:58:09 UTC+2 [email protected] wrote:
>>
>>> We have a message queue system for sending work/functions/message 
>>> between threads.  See `emscripten/threading.h`.  In particular I think 
>>> `emscripten_dispatch_to_thread` might be useful to you.
>>>
>>> Alternatively you can just use the normal C/C++ mechanisms for 
>>> inter-thread communication and do it yourself.   All the standard C/C++ API 
>>> for doing this kind of thing should work.
>>>
>>>
>>> On Wed, Oct 20, 2021 at 5:39 AM 'Márton Marczell' via emscripten-discuss 
>>> <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> Why is Module.onCustomMessage only available in PROXY_TO_WORKER mode?
>>>> Would it be possible to enable it in multi-pthreaded applications? We 
>>>> are in need of a solution to do custom messaging between our threads and 
>>>> the main thread.
>>>>
>>>> Márton
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "emscripten-discuss" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/emscripten-discuss/87bed389-c756-4bd2-9ab0-5cafcfc756ebn%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/emscripten-discuss/87bed389-c756-4bd2-9ab0-5cafcfc756ebn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/0b541dc0-2ce2-4085-9ab7-1bf4fd5a54c9n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/0b541dc0-2ce2-4085-9ab7-1bf4fd5a54c9n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/69c81391-6821-44a5-afd6-eb8521e73737n%40googlegroups.com.

Reply via email to