diff --git a/CHANGELOG b/CHANGELOG index bcaf8bd805..cc1e24578e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ v3.5.1 (XXXX-XX-XX) ------------------- +* Don't create temporary directories named "arangosh_XXXXXX" anymore. + * Add TransactionStatistics to ServerStatistics (transactions started / aborted / committed and number of intermediate commits). diff --git a/lib/Basics/files.cpp b/lib/Basics/files.cpp index c99c539d1e..be720a6040 100644 --- a/lib/Basics/files.cpp +++ b/lib/Basics/files.cpp @@ -2237,9 +2237,16 @@ std::string TRI_GetTempPath() { try { long systemError; std::string systemErrorStr; - TRI_CreateRecursiveDirectory(SystemTempPath.get(), systemError, systemErrorStr); + std::string baseDirectory = TRI_Dirname(SystemTempPath.get()); + if (baseDirectory.size() <= 1) { + baseDirectory = SystemTempPath.get(); + } + // create base directory if it does not yet exist + TRI_CreateRecursiveDirectory(baseDirectory.data(), systemError, systemErrorStr); } catch (...) {} + // fill template string (XXXXXX) with some pseudo-random value and create + // the directory res = mkDTemp(SystemTempPath.get(), system.size() + 1); }