You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2015/12/29 19:12:53 UTC

svn commit: r1722201 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/TypeImpl.java

Author: schor
Date: Tue Dec 29 18:12:51 2015
New Revision: 1722201

URL: http://svn.apache.org/viewvc?rev=1722201&view=rev
Log:
[UIMA-4673] synch the computation of hashCode and hasHashCode.

Modified:
    uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/TypeImpl.java

Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/TypeImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/TypeImpl.java?rev=1722201&r1=1722200&r2=1722201&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/TypeImpl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/TypeImpl.java Tue Dec 29 18:12:51 2015
@@ -779,12 +779,14 @@ public class TypeImpl implements Type, C
   @Override
   public int hashCode() {
     if (hasHashCode) return hashCode;
-    int h = computeHashCode();
-    if (tsi.isCommitted()) {
-      hashCode = h;
-      hasHashCode = true;
+    synchronized (this) {
+      int h = computeHashCode();
+      if (tsi.isCommitted()) {
+        hashCode = h;
+        hasHashCode = true;
+      }
+      return h;
     }
-    return h;
   }
   
   private int computeHashCode() {