summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang-record-replay/record/record-manager.cpp16
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))