Ok thanks for the information On Thursday, October 13, 2022 at 9:52:15 PM UTC+5:30 [email protected] wrote:
> If the C code and the JS code are running on different threads, this > should work fine. If they are running on the same thread, then the C will > need to return to the event loop to let the JS run at some point. You can > use `emscripten_async_call` to schedule more C code to run again in the > future after the original C code has returned to the event loop. > > On Wed, Oct 12, 2022 at 1:07 AM Aitha Tarun <[email protected]> wrote: > >> Hi, >> Is it possible to write contents to a file at an indefinite time from >> javascript and read those contents in C code after some amount of time and >> continue this process? >> >> For example, if I write some content from javascript to a shared file at >> a time "t" and want to read that contents in C code at "t+1" time and clear >> those contents from the shared file, and again the javascript code will >> write the contents at "t+2" time and want to read that contents in C code >> at "t+3" time. >> >> Means will the compiled C code (emscripten web assembly) and our own >> Javascript code can run asynchronously? >> >> *Javascript Code:* >> >> Module.noInitialRun = true; >> >> Module.onRuntimeInitialized = ()=> >> { >> console.log("Initialized"); >> >> const stream = Module.FS.open('./events.txt', 'a+'); >> >> window.addEventListener >> ( >> 'keyup', >> (ev) => >> { >> if(ev.key === 'p') >> { >> console.log("Writing"); >> const output = 'p'; >> >> const enc = new TextEncoder(); >> enc.encode(output); >> >> const data = enc.encode(output); >> >> Module.FS.write(stream, data, 0, data.length); >> } >> } >> ); >> >> Module.callMain(); >> } >> >> *C Code:* >> >> #include <stdio.h> >> #include <string.h> >> >> int main() >> { >> FILE* ptr; >> char str[50]; >> >> ptr = fopen("./events.txt", "r"); >> >> if (NULL == ptr) >> { >> printf("Unable to open events file\n"); >> return -1; >> } >> >> printf("File contents : \n"); >> >> while (fgets(str, 50, ptr) != NULL) >> { >> printf("%s\n", str); >> } >> >> // Perform some operations here >> // And again execute the above reading code after some time >> >> return 0; >> } >> >> -- >> 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/f0a1a6ae-7c2a-4a97-9124-b5025dcaedd3n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/emscripten-discuss/f0a1a6ae-7c2a-4a97-9124-b5025dcaedd3n%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/b33cf222-2964-4d20-b8db-8892b90153fdn%40googlegroups.com.
