diff options
Diffstat (limited to 'src/postamble.js')
-rw-r--r-- | src/postamble.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/postamble.js b/src/postamble.js index 144b5af9..5f541733 100644 --- a/src/postamble.js +++ b/src/postamble.js @@ -18,12 +18,16 @@ Module.callMain = function callMain(args) { argv = allocate(argv, 'i32', ALLOC_STATIC); #if CATCH_EXIT_CODE + var initialStackTop = STACKTOP; try { - return _main(argc, argv, 0); + return Module['_main'](argc, argv, 0); } catch(e) { if (e.name == "ExitStatus") return e.status; throw e; } + finally { + STACKTOP = initialStackTop; + } #else - return _main(argc, argv, 0); + return Module['_main'](argc, argv, 0); #endif } |