I found this discussion wanting to implement something similar. I now have something working which uses separate filesystems for each module (could not get them to use the same FS object / BrowserFS to sync them). In each I mount an IDBFS, and I make sure to call syncfs at the appropriate places so that the contents are synced. This is far from ideal (may be too slow for some use cases; probably duplicates memory), but works for me now.
Still, is there any reason why it would not be possible to pass the FS of another module in the MODULARIZEd constructor for a new module (perhaps all that is needed is `var FS=FS||...` instead of `var FS=...`?)? If it were possible, that would be a much neater solution, but perhaps I'm missing a reason why this is not feasible. Camil On Thursday, 23 April 2015 23:24:35 UTC+2, Alon Zakai wrote: > > I don't think the FS was designed for that purpose. But I'm not sure if > there is a reason stopping it from working that way. You would need to > somehow grab the FS object from one module and make it accessible to the > other, so they share one FS (probably need some new Emscripten options for > that). If you did that, things might work - at least I can't think of a > reason for them not to ;) > > Another option is to write glue code, as you said, to manually move around > data between two FSes. > > A third possible route is to use BrowserFS ( > https://github.com/jvilk/BrowserFS ). It can plug into Emscripten > filesystems, and I'm not sure but I think might be able to handle multiple > external sources. > > - Alon > > > > > On Thu, Apr 23, 2015 at 1:48 AM, Łukasz Adamczak <[email protected] > <javascript:>> wrote: > >> I'm looking to implement a web application which combines 2 Emscripten >> modules. >> >> Think an IDE with a text editor, an Assembler (module 1) and an Emulator >> (module 2). >> https://dl.dropboxusercontent.com/u/118061/neside/neside-flow.png >> >> The general flow I'm hoping to achieve: >> >> 1. Content of a <textarea> is written as a text file to the FS (manually >> written JS). >> 2. Emscripten module 1 ("Assembler"): >> - reads the text file from the FS >> - writes a bin file to the FS. >> 3. Emscripten module 2 ("Emulator"): >> - reads the bin file from the FS and acts on it >> >> I have successfully implemented both modules in isolation. >> I can also use MODULARIZE=1 and EXPORT_NAME to include 2 modules in one >> page. >> >> However in this setup, I am unable to access the filesystem and - much >> less - share it across modules. >> >> I could use some help with the following: >> >> 1. How do I access "FS" when I use MODULARIZE=1? FS is not public and I >> can't #readFile or #writeFile. >> 2. Can the FS be shared across separate Emscripten modules? Or will I >> need to write some glue code to: >> - take data out of Assembler's FS >> - put the data into Emulator's FS >> >> Thanks! >> Łukasz >> >> -- >> 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] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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/3e904401-0207-433b-8afa-84c7c330e75bo%40googlegroups.com.
