SIGTERM simulation by hitting SHIFT-CTRL-T-R

This commit is contained in:
minjaesong
2021-04-23 21:57:02 +09:00
parent 1626c5f5e2
commit dbfda580a7
6 changed files with 42 additions and 31 deletions

View File

@@ -163,7 +163,7 @@ let injectIntChk = (s, n) => {
let k = s
.replace(/while *\([^\n]+\) *{/, "$& "+n+"();")
.replace(/for *\([^\n]+\) *{/, "$& "+n+"();");
serial.println(k);
//serial.println(k);
return k;
}
@@ -178,22 +178,7 @@ var execApp = (cmdsrc, args) => {
`var _appStub=function(exec_args){${injectIntChk(cmdsrc, intchkFunName)}\n};` +
`_appStub`); // making 'exec_args' a app-level global
var status = 0;
try {
status = execAppPrg(args);
return status;
}
catch (e) {
serial.printerr(`app execution interrupted -- ${e}\n${e.stack || "(stack trace unavailable)"}`);
//serial.printerr(Object.entries(e));
if (e instanceof InterruptedException)
return SIGTERM;
else if (e instanceof IllegalAccessException || `${e}`.startsWith("net.torvald.tsvm.ErrorIllegalAccess"))
return SIGSEGV;
else
return (undefined == status) ? 0 : status;
}
return execAppPrg(args);
}
///////////////////////////////////////////////////////////////////////////////