From: PJ Fanning Date: Tue, 13 Mar 2018 15:12:00 +0000 (+0000) Subject: [bug-62176] synchronize temp dir creation X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=47fb3691f76b6f1286a41faea09019eac843119b;p=poi.git [bug-62176] synchronize temp dir creation git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1826655 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index feef4e7578..4da30c3072 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java b/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java index 6f44752873..f14871daf8 100644 --- a/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java +++ b/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java @@ -85,11 +85,12 @@ public class DefaultTempFileCreationStrategy implements TempFileCreationStrategy /** * Attempt to create a directory, including any necessary parent directories. * Does nothing if directory already exists. + * The method is synchronized to ensure that multiple threads don't try to create the directory at the same time. * * @param directory the directory to create * @throws IOException if unable to create temporary directory or it is not a directory */ - private void createTempDirectory(File directory) throws IOException { + private synchronized void createTempDirectory(File directory) throws IOException { // create directory if it doesn't exist final boolean dirExists = (directory.exists() || directory.mkdirs()); @@ -138,4 +139,4 @@ public class DefaultTempFileCreationStrategy implements TempFileCreationStrategy // All done return newDirectory; } -} \ No newline at end of file +}