aboutsummaryrefslogtreecommitdiff
path: root/rtc_base/event_tracer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'rtc_base/event_tracer.cc')
-rw-r--r--rtc_base/event_tracer.cc16
1 files changed, 3 insertions, 13 deletions
diff --git a/rtc_base/event_tracer.cc b/rtc_base/event_tracer.cc
index 9e3ee6071c..1a2b41ec5c 100644
--- a/rtc_base/event_tracer.cc
+++ b/rtc_base/event_tracer.cc
@@ -79,19 +79,12 @@ namespace rtc {
namespace tracing {
namespace {
-static void EventTracingThreadFunc(void* params);
-
// Atomic-int fast path for avoiding logging when disabled.
static volatile int g_event_logging_active = 0;
// TODO(pbos): Log metadata for all threads, etc.
class EventLogger final {
public:
- EventLogger()
- : logging_thread_(EventTracingThreadFunc,
- this,
- "EventTracingThread",
- kLowPriority) {}
~EventLogger() { RTC_DCHECK(thread_checker_.IsCurrent()); }
void AddTraceEvent(const char* name,
@@ -209,7 +202,8 @@ class EventLogger final {
rtc::AtomicOps::CompareAndSwap(&g_event_logging_active, 0, 1));
// Finally start, everything should be set up now.
- logging_thread_.Start();
+ logging_thread_ =
+ PlatformThread::SpawnJoinable([this] { Log(); }, "EventTracingThread");
TRACE_EVENT_INSTANT0("webrtc", "EventLogger::Start");
}
@@ -223,7 +217,7 @@ class EventLogger final {
// Wake up logging thread to finish writing.
shutdown_event_.Set();
// Join the logging thread.
- logging_thread_.Stop();
+ logging_thread_.Finalize();
}
private:
@@ -326,10 +320,6 @@ class EventLogger final {
bool output_file_owned_ = false;
};
-static void EventTracingThreadFunc(void* params) {
- static_cast<EventLogger*>(params)->Log();
-}
-
static EventLogger* volatile g_event_logger = nullptr;
static const char* const kDisabledTracePrefix = TRACE_DISABLED_BY_DEFAULT("");
const unsigned char* InternalGetCategoryEnabled(const char* name) {