diff options
Diffstat (limited to 'src/preamble.js')
-rw-r--r-- | src/preamble.js | 13 |
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; |