aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-18 16:33:54 -0500
committerAlon Zakai <alonzakai@gmail.com>2013-09-18 16:34:29 -0500
commitfe524f9383fa6c06b7256f58fb1ef552b7660a7f (patch)
tree59e6927246b631c761113b20035fbc561dc0d32e /src
parentfdf356f0c194e569aafcc3fe69c7e30dbb29c4ef (diff)
handle memory initializer when there are deps added during preRun
Diffstat (limited to 'src')
-rw-r--r--src/postamble.js3
-rw-r--r--src/preamble.js3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/postamble.js b/src/postamble.js
index 8f585b86..cd892733 100644
--- a/src/postamble.js
+++ b/src/postamble.js
@@ -35,9 +35,10 @@ var preloadStartTime = null;
var calledMain = false;
var calledRun = false;
-dependenciesFulfilled = function() {
+dependenciesFulfilled = function runCaller() {
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!calledRun && shouldRunNow) run();
+ if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
}
Module['callMain'] = Module.callMain = function callMain(args) {
diff --git a/src/preamble.js b/src/preamble.js
index 02935f8f..8e70cb74 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -993,8 +993,9 @@ function removeRunDependency(id) {
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
- dependenciesFulfilled();
+ var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
+ callback(); // can add another dependenciesFulfilled
}
}
}