Added "synchronized" method to create random number in case of multi-thread issue

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1722 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jwang36 2006-10-11 10:10:16 +00:00
parent 5f480cb5e8
commit 2320bb1497
1 changed files with 13 additions and 3 deletions

View File

@ -148,7 +148,7 @@ public class Tool implements EfiDefine, Section {
}
try {
this.outputFileName = "Temp" + ran.nextInt();
this.outputFileName = "Temp" + getRand();
argument = toolArgList + inputFiles.toStringWithSinglepPrefix(" -i ")
+ tempInputFile.toString(" ")+ " -o " + outputFileName;
EdkLog.log(this, EdkLog.EDK_VERBOSE, command + " " + argument);
@ -164,7 +164,8 @@ public class Tool implements EfiDefine, Section {
file.delete();
}
}
} catch (Exception e) { EdkLog.log(e.getMessage());
} catch (Exception e) {
EdkLog.log(e.getMessage());
throw new BuildException("Execution of externalTool task failed!\n");
}
}
@ -237,6 +238,15 @@ public class Tool implements EfiDefine, Section {
public void addGenSection(GenSectionTask genSect){
this.gensectList.add(genSect);
}
/**
Get random number.
@returns The random integer.
**/
public synchronized int getRand() {
return ran.nextInt();
}
}