aboutsummaryrefslogtreecommitdiff
path: root/src/preamble.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/preamble.js')
-rw-r--r--src/preamble.js13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/preamble.js b/src/preamble.js
index 21b09985..7abe0db8 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -793,19 +793,28 @@ var STRING_TABLE = [];
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
+var runDependencyTracking = {};
var calledRun = false;
-function addRunDependency() {
+function addRunDependency(id) {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
+ if (id) {
+ assert(!runDependencyTracking[id]);
+ runDependencyTracking[id] = 1;
+ }
}
Module['addRunDependency'] = addRunDependency;
-function removeRunDependency() {
+function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
+ if (id) {
+ assert(runDependencyTracking[id]);
+ delete runDependencyTracking[id];
+ }
if (runDependencies == 0 && !calledRun) run();
}
Module['removeRunDependency'] = removeRunDependency;