-
Patch
-
Resolution: Done
-
Major
-
6.1.0.Beta1, 6.1.0.Beta2, 6.1.0.Beta3, 6.1.0.Beta4, 6.1.0.CR1, 6.1.0.CR2, 6.1.0.Final
-
None
-
None
currently the code generated does a null check within the synchronized code. this forces all threads to block while the check is made even after the check returns false. by adding a double null check, the synchronized code is bypassed once the check is satisfied.
public void evaluate(KnowledgeHelper paramKnowledgeHelper, WorkingMemory paramWorkingMemory)
throws Exception
{
if (this.consequence == null) {
synchronized (this) {
if (this.consequence == null)
}
}
this.consequence.evaluate(paramKnowledgeHelper, paramWorkingMemory);
}