From 63385281bff0bc99b56afca28c7459f1ccc0d15d Mon Sep 17 00:00:00 2001 From: belliash Date: Sun, 22 Jul 2018 21:28:05 +0200 Subject: [PATCH] Break script execution on exit --- engine/vm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/engine/vm.c b/engine/vm.c index 3a418de..1f7b1d0 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -2245,7 +2245,6 @@ static sxi32 VmThrowErrorAp( SyBlobAppend(pWorker, pFile->zString, pFile->nByte); SyBlobAppend(pWorker, (const void *)" ", sizeof(char)); } - zErr = "Error: "; switch(iErr) { case PH7_CTX_WARNING: zErr = "Warning: "; @@ -2255,6 +2254,7 @@ static sxi32 VmThrowErrorAp( break; default: iErr = PH7_CTX_ERR; + zErr = "Error: "; break; } SyBlobAppend(pWorker, zErr, SyStrlen(zErr)); @@ -2266,6 +2266,11 @@ static sxi32 VmThrowErrorAp( SyBlobFormatAp(pWorker, zFormat, ap); /* Consume the error message */ rc = VmCallErrorHandler(&(*pVm), pWorker); + if(iErr == PH7_CTX_ERR) { + /* Error ocurred, release at least VM gracefully and exit */ + PH7_VmRelease(pVm); + exit(255); + } return rc; } /*