From 385121d2ca02988f003d4800880fc90077558596 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 30 Jan 2020 14:34:54 +0000 Subject: [PATCH] Fix android deadlock on shutdown --- renderdoc/android/android.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/renderdoc/android/android.cpp b/renderdoc/android/android.cpp index a46577a2e..119cc0c2b 100644 --- a/renderdoc/android/android.cpp +++ b/renderdoc/android/android.cpp @@ -669,12 +669,14 @@ struct AndroidController : public IDeviceProtocolHandler { void Start() { - SCOPED_LOCK(lock); if(running == 0) { Atomic::Inc32(&running); - Android::initAdb(); + { + SCOPED_LOCK(lock); + Android::initAdb(); + } thread = Threading::CreateThread([]() { m_Inst.ThreadEntry(); }); RenderDoc::Inst().RegisterShutdownFunction([]() { m_Inst.Shutdown(); }); @@ -683,13 +685,15 @@ struct AndroidController : public IDeviceProtocolHandler void Shutdown() { - SCOPED_LOCK(lock); Atomic::Dec32(&running); Threading::JoinThread(thread); Threading::CloseThread(thread); thread = 0; - Android::shutdownAdb(); + { + SCOPED_LOCK(lock); + Android::shutdownAdb(); + } } struct Command