diff options
author | Adrian Cumiskey <acumiskey@apache.org> | 2008-07-21 12:58:18 +0000 |
---|---|---|
committer | Adrian Cumiskey <acumiskey@apache.org> | 2008-07-21 12:58:18 +0000 |
commit | 211db11e016d196c2b7960ccbf66be7a83460b9e (patch) | |
tree | f2d8e4050761c985f172b02459d8e7d017953076 | |
parent | 6012c2eaa647bc650c73b273a2f2dffd8eaafd35 (diff) | |
download | xmlgraphics-fop-211db11e016d196c2b7960ccbf66be7a83460b9e.tar.gz xmlgraphics-fop-211db11e016d196c2b7960ccbf66be7a83460b9e.zip |
Must synchronize on cacheMap when removing DataObjectCache instance.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AFPGOCAResources@678405 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/java/org/apache/fop/render/afp/DataObjectCache.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/java/org/apache/fop/render/afp/DataObjectCache.java b/src/java/org/apache/fop/render/afp/DataObjectCache.java index f2631f0cd..c8129baf2 100644 --- a/src/java/org/apache/fop/render/afp/DataObjectCache.java +++ b/src/java/org/apache/fop/render/afp/DataObjectCache.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; +import java.util.Collections; import java.util.Map; import org.apache.commons.logging.Log; @@ -48,6 +49,7 @@ public final class DataObjectCache { private static Map/*<Integer,DataObjectCache>*/ cacheMap = new java.util.HashMap/*<Integer,DataObjectCache>*/(); + /** Mapping of data object uri --> cache record */ private Map/*<ResourceInfo,Record>*/ includableMap = new java.util.HashMap/*<ResourceInfo,Record>*/(); @@ -110,7 +112,9 @@ public final class DataObjectCache { try { raFile.close(); tempFile.delete(); - cacheMap.remove(id); // remove ourselves from the cache map + synchronized (cacheMap) { + cacheMap.remove(id); // remove ourselves from the cache map + } } catch (IOException e) { log.error("Failed to close temporary file"); } |