diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang-record-replay/record/record-manager.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source/slang-record-replay/record/record-manager.cpp b/source/slang-record-replay/record/record-manager.cpp index 3be120c43..07f1d4e72 100644 --- a/source/slang-record-replay/record/record-manager.cpp +++ b/source/slang-record-replay/record/record-manager.cpp @@ -1,8 +1,10 @@ #include "record-manager.h" #include "../../core/slang-io.h" +#include "../../core/slang-platform.h" #include "../util/record-utility.h" +#include <cstdlib> #include <sstream> #include <thread> @@ -14,7 +16,19 @@ RecordManager::RecordManager(uint64_t globalSessionHandle) std::stringstream ss; ss << "gs-" << globalSessionHandle << "-t-" << std::this_thread::get_id() << ".cap"; - m_recordFileDirectory = Slang::Path::combine(m_recordFileDirectory, "slang-record"); + // Check for custom record directory from environment variable + Slang::StringBuilder customRecordDirBuilder; + if (SLANG_SUCCEEDED(Slang::PlatformUtil::getEnvironmentVariable( + Slang::UnownedStringSlice::fromLiteral("SLANG_RECORD_DIRECTORY"), + customRecordDirBuilder))) + { + m_recordFileDirectory = customRecordDirBuilder.toString(); + } + else + { + m_recordFileDirectory = Slang::Path::combine(m_recordFileDirectory, "slang-record"); + } + if (!Slang::File::exists(m_recordFileDirectory)) { if (!Slang::Path::createDirectoryRecursive(m_recordFileDirectory)) |
