diff options
Diffstat (limited to 'rtc_base/event_unittest.cc')
-rw-r--r-- | rtc_base/event_unittest.cc | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/rtc_base/event_unittest.cc b/rtc_base/event_unittest.cc index 31118877cf..a634d6e426 100644 --- a/rtc_base/event_unittest.cc +++ b/rtc_base/event_unittest.cc @@ -43,22 +43,21 @@ TEST(EventTest, AutoReset) { class SignalerThread { public: - SignalerThread() : thread_(&ThreadFn, this, "EventPerf") {} void Start(Event* writer, Event* reader) { writer_ = writer; reader_ = reader; - thread_.Start(); + thread_ = PlatformThread::SpawnJoinable( + [this] { + while (!stop_event_.Wait(0)) { + writer_->Set(); + reader_->Wait(Event::kForever); + } + }, + "EventPerf"); } void Stop() { stop_event_.Set(); - thread_.Stop(); - } - static void ThreadFn(void* param) { - auto* me = static_cast<SignalerThread*>(param); - while (!me->stop_event_.Wait(0)) { - me->writer_->Set(); - me->reader_->Wait(Event::kForever); - } + thread_.Finalize(); } Event stop_event_; Event* writer_; |