Well... Yes, if we look at it this way, kind of makes a point.

Does this code seem good?

I expect the FS to keep the context of /project, but it doesn't (compiling with 
-lidbfs.js).

async function initModule() {
  Module = await createMyModule();

  let FS = Module.FS;

  FS.mkdir('/project');
  FS.mount(FS.filesystems.IDBFS, {}, '/project');
  FS.chdir('/project');
}


> On 10 Feb 2023, at 02:06, chi...@gmail.com <chi...@gmail.com> wrote:
> 
> MEMFS is an in-MEMory FileSytem. What you need is IndexedDB-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 
> <mailto: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
>  
> <https://groups.google.com/d/msgid/emscripten-discuss/75d18653-26af-4e33-add0-d5f65a16cb20n%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-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/5BB7A1FF-D80F-4CE5-BC3A-6FAF225CB353%40gmail.com.

Reply via email to