Yengine: only retry compile if there was a object file in cache with wrong version or signature

This commit is contained in:
UbitUmarov
2018-03-09 22:44:58 +00:00
parent 2dc49dc1e9
commit 2369ce413d
4 changed files with 6 additions and 18 deletions

View File

@@ -90,12 +90,12 @@ namespace OpenSim.Region.ScriptEngine.Yengine
// Check version number to make sure we know how to process file contents.
char[] ocm = objFileReader.ReadChars(ScriptCodeGen.OBJECT_CODE_MAGIC.Length);
if(new String(ocm) != ScriptCodeGen.OBJECT_CODE_MAGIC)
throw new Exception("not an Yengine object file (bad magic)");
throw new CVVMismatchException("Not an Yengine object file (bad magic)");
int cvv = objFileReader.ReadInt32();
if(cvv != ScriptCodeGen.COMPILED_VERSION_VALUE)
throw new CVVMismatchException(cvv, ScriptCodeGen.COMPILED_VERSION_VALUE);
throw new CVVMismatchException(
"Object version is " + cvv.ToString() + " but accept only " + ScriptCodeGen.COMPILED_VERSION_VALUE.ToString());
// Fill in simple parts of scriptObjCode object.
sourceHash = objFileReader.ReadString();
glblSizes.ReadFromFile(objFileReader);