support for __cxa_atexit argument
This commit is contained in:
Родитель
2fb5e321d9
Коммит
9f0ba583d6
|
@ -514,8 +514,8 @@ var Library = {
|
|||
throw 'exit(' + status + ') called, at ' + new Error().stack;
|
||||
},
|
||||
|
||||
atexit: function(func) {
|
||||
__ATEXIT__.push(func);
|
||||
atexit: function(func, arg) {
|
||||
__ATEXIT__.push({ func: func, arg: arg });
|
||||
},
|
||||
__cxa_atexit: 'atexit',
|
||||
|
||||
|
|
|
@ -287,11 +287,12 @@ function __initializeRuntime__() {
|
|||
|
||||
function __shutdownRuntime__() {
|
||||
while( __ATEXIT__.length > 0) {
|
||||
var func = __ATEXIT__.pop();
|
||||
var atexit = __ATEXIT__.pop();
|
||||
var func = atexit.func;
|
||||
if (typeof func === 'number') {
|
||||
func = FUNCTION_TABLE[func];
|
||||
}
|
||||
func();
|
||||
func(atexit.arg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче