summaryrefslogtreecommitdiff
path: root/simpleperf/cmd_record.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/cmd_record.cpp')
-rw-r--r--simpleperf/cmd_record.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/simpleperf/cmd_record.cpp b/simpleperf/cmd_record.cpp
index 749b0c51..b9aa5ba1 100644
--- a/simpleperf/cmd_record.cpp
+++ b/simpleperf/cmd_record.cpp
@@ -22,6 +22,7 @@
#include <sys/utsname.h>
#include <time.h>
#include <unistd.h>
+#include <filesystem>
#include <optional>
#include <set>
#include <string>
@@ -1543,8 +1544,13 @@ std::unique_ptr<RecordFileReader> RecordCommand::MoveRecordFile(const std::strin
return nullptr;
}
record_file_writer_.reset();
- if (!Workload::RunCmd({"mv", record_filename_, old_filename})) {
- return nullptr;
+ {
+ std::error_code ec;
+ std::filesystem::rename(record_filename_, old_filename, ec);
+ if (ec) {
+ LOG(ERROR) << "Failed to rename: " << ec.message();
+ return nullptr;
+ }
}
record_file_writer_ = CreateRecordFile(record_filename_);
if (!record_file_writer_) {