[HTML5] Early FS initialization.

So that "/userfs" is created and mounted before `setup`.
This commit is contained in:
Fabio Alessandrelli 2020-07-01 15:40:30 +02:00
parent 44a516986d
commit 093c463ebf

View file

@ -120,9 +120,12 @@ extern "C" EMSCRIPTEN_KEEPALIVE void main_after_fs_sync(char *p_idbfs_err) {
}
int main(int argc, char *argv[]) {
// Create and mount userfs immediately.
EM_ASM({
FS.mkdir('/userfs');
FS.mount(IDBFS, {}, '/userfs');
});
os = new OS_JavaScript(argc, argv);
// TODO: Check error return value.
Main::setup(argv[0], argc - 1, &argv[1], false);
emscripten_set_main_loop(main_loop_callback, -1, false);
emscripten_pause_main_loop(); // Will need to wait for FS sync.
@ -131,8 +134,6 @@ int main(int argc, char *argv[]) {
// run the 'main_after_fs_sync' function.
/* clang-format off */
EM_ASM({
FS.mkdir('/userfs');
FS.mount(IDBFS, {}, '/userfs');
FS.syncfs(true, function(err) {
requestAnimationFrame(function() {
ccall('main_after_fs_sync', null, ['string'], [err ? err.message : ""]);