Fix TypedefEffectiveStatementImpl double-checked load
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / typedef / TypedefEffectiveStatementImpl.java
index 89578a31d8a1f53c1a37a59cf81800b4a715a4dc..c2df109cec9e2867705affd108d85246692ad408 100644 (file)
@@ -42,7 +42,7 @@ final class TypedefEffectiveStatementImpl extends AbstractEffectiveSchemaNode<Ty
 
     private final TypeDefinition<?> typeDefinition;
 
-    private TypeEffectiveStatement<TypeStatement> typeStatement;
+    private volatile TypeEffectiveStatement<TypeStatement> typeStatement;
 
     TypedefEffectiveStatementImpl(final StmtContext<QName, TypedefStatement, ?> ctx) {
         super(ctx);
@@ -95,8 +95,7 @@ final class TypedefEffectiveStatementImpl extends AbstractEffectiveSchemaNode<Ty
             synchronized (this) {
                 ret = typeStatement;
                 if (ret == null) {
-                    ret = new ProxyTypeEffectiveStatement();
-                    typeStatement = ret;
+                    typeStatement = ret = new ProxyTypeEffectiveStatement();
                 }
             }
         }