summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp9
-rw-r--r--services/surfaceflinger/Tracing/TransactionTracing.h2
2 files changed, 5 insertions, 6 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index b494529b9f..9c3fb09e6f 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -97,6 +97,7 @@
#include <utils/Timers.h>
#include <utils/misc.h>
+#include <unistd.h>
#include <algorithm>
#include <cerrno>
#include <cinttypes>
@@ -916,11 +917,9 @@ void SurfaceFlinger::init() FTL_FAKE_GUARD(kMainThreadContext) {
auto writeFn = [&]() {
const std::string filename =
TransactionTracing::DIR_NAME + prefix + TransactionTracing::FILE_NAME;
- if (overwrite) {
- std::ifstream file(filename);
- if (file.is_open()) {
- return;
- }
+ if (overwrite && access(filename.c_str(), F_OK) == 0) {
+ ALOGD("TransactionTraceWriter: file=%s already exists", filename.c_str());
+ return;
}
mTransactionTracing->flush();
mTransactionTracing->writeToFile(filename);
diff --git a/services/surfaceflinger/Tracing/TransactionTracing.h b/services/surfaceflinger/Tracing/TransactionTracing.h
index fa006fc5c7..a59dc6e7dc 100644
--- a/services/surfaceflinger/Tracing/TransactionTracing.h
+++ b/services/surfaceflinger/Tracing/TransactionTracing.h
@@ -77,7 +77,7 @@ private:
friend class SurfaceFlinger;
static constexpr auto DIR_NAME = "/data/misc/wmtrace/";
- static constexpr auto FILE_NAME = "/transactions_trace.winscope";
+ static constexpr auto FILE_NAME = "transactions_trace.winscope";
static constexpr auto FILE_PATH = "/data/misc/wmtrace/transactions_trace.winscope";
mutable std::mutex mTraceLock;