MEMFS is an in-*MEM*ory *F*ile*S*ytem. What you need is *I*ndexed*DB*-based 
*FS.*

On Friday, February 10, 2023 at 3:54:00 AM UTC+4 ili...@gmail.com wrote:

> I'm sorry to say so, but WASM memory and FS are two different things by 
> design.
>
> There's no need to make things more complex than keeping FS while 
> resetting memory.
> I do it with my computer every day (almost) ;)
>
> Kind regards,
> Ilya Kantor
>
> On 10 Feb 2023, at 00:05, 'Sam Clegg' via emscripten-discuss <
> emscripte...@googlegroups.com> wrote:
>
> If you are using MEMFS then its contents would (by design) be reset when 
> you reset your memory.
>
> If you want to preserve data between runs you would need some kind of 
> persistent store.   Perhaps IDBFS?
>
> On Thu, Feb 9, 2023 at 2:34 PM Ilya Kantor <ili...@gmail.com> wrote:
>
>> That's a great hint, thank you!
>>
>> I tried to do so, but bumped into a problem: I need to pass FS from the 
>> old module to the new one.
>> I'm using the most basic default MEMFS.
>>
>> Any idea how to do it?
>>
>> Or maybe I should recursively walk and copy files? That's not the most 
>> elegant solution, but should work.
>>
>> Kind regards,
>> Ilya Kantor
>>
>> On 9 Feb 2023, at 20:30, 'Sam Clegg' via emscripten-discuss <
>> emscripte...@googlegroups.com> wrote:
>>
>> Hi Ilya,
>>
>> Emscripten doesn't have any way to do that today (at least not that I 
>> know of).
>>
>> Your best bet is probably to use `-sMODULARIZE` and then construct a new 
>> instance for each time you want to call `main`.   i.e `new MyModule()` each 
>> time.
>>
>> cheers,
>> sam
>>
>> On Thu, Feb 9, 2023 at 11:18 AM Ilya Kantor <ili...@gmail.com> wrote:
>>
>>> Hello,
>>>
>>> I use Emscripten to compile a CLI application, and then run its _main 
>>> many times.
>>>
>>> The problem is that it expects every call to be "from the scratch", with 
>>> uninitialized data structures.
>>>
>>> Right now, e.g. a file has `struct my_type s`, and initializes it on the 
>>> first run, then it survives till the second run and spoils it.
>>>
>>> How to re-init WASM, to clear memory for new  runs (start afresh) while 
>>> keeping FS untouched?
>>>
>>>
>>> -- 
>>> 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 emscripten-disc...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/emscripten-discuss/140af2b7-874c-4308-8563-044e066fd89fn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/emscripten-discuss/140af2b7-874c-4308-8563-044e066fd89fn%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 emscripten-disc...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va28RpzVOUzTAr3zO5bX%2BQWTq%3DdMn08Xwc2y9odMFZKmw-g%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va28RpzVOUzTAr3zO5bX%2BQWTq%3DdMn08Xwc2y9odMFZKmw-g%40mail.gmail.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 emscripten-disc...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/D9B1D151-C606-4E89-AC79-823E58B61BA0%40gmail.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/D9B1D151-C606-4E89-AC79-823E58B61BA0%40gmail.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 emscripten-disc...@googlegroups.com.
>
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-yO%2BOY6ANUzuBU5qOfv6BikyTonT5oUomOU4FbfHAwTA%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-yO%2BOY6ANUzuBU5qOfv6BikyTonT5oUomOU4FbfHAwTA%40mail.gmail.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 emscripten-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/75d18653-26af-4e33-add0-d5f65a16cb20n%40googlegroups.com.

Reply via email to