Ping?
On Wed, Aug 5, 2015 at 1:20 PM, Hans Wennborg <h...@chromium.org> wrote: > Ping? > > On Wed, Jul 29, 2015 at 8:56 AM, Hans Wennborg <h...@chromium.org> wrote: >> Greg, I believe you're the code owner here. OK to merge? >> >> On Tue, Jul 28, 2015 at 9:05 PM, Bhushan Attarde >> <bhushan.atta...@imgtec.com> wrote: >>> Hi Hans, >>> >>> Could you please add this to the release branch? >>> >>> Thanks >>> Bhushan >>> >>> -----Original Message----- >>> From: lldb-commits-boun...@cs.uiuc.edu >>> [mailto:lldb-commits-boun...@cs.uiuc.edu] On Behalf Of Bhushan Attarde >>> Sent: 24 July 2015 09:36 >>> To: lldb-comm...@cs.uiuc.edu >>> Subject: [Lldb-commits] [lldb] r243091 - Handle old style S packet correctly >>> >>> Author: bhushan.attarde >>> Date: Thu Jul 23 23:06:20 2015 >>> New Revision: 243091 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=243091&view=rev >>> Log: >>> Handle old style S packet correctly >>> >>> SUMMARY: >>> This patch fixes couple of issues: >>> 1. A thread tries to lock a mutex which is already locked. >>> 2. Updating a thread list before the stop packet is parsed so that it >>> can get a valid thread id and allows to set the stop info correctly. >>> >>> Reviewers: clayborg >>> Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits >>> Differential Revision: http://reviews.llvm.org/D11449 >>> >>> Modified: >>> lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp >>> >>> Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=243091&r1=243090&r2=243091&view=diff >>> ============================================================================== >>> --- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp >>> (original) >>> +++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp >>> +++ Thu Jul 23 23:06:20 2015 >>> @@ -371,7 +371,7 @@ ProcessGDBRemote::ProcessGDBRemote(Targe >>> m_flags (0), >>> m_gdb_comm (), >>> m_debugserver_pid (LLDB_INVALID_PROCESS_ID), >>> - m_last_stop_packet_mutex (Mutex::eMutexTypeNormal), >>> + m_last_stop_packet_mutex (Mutex::eMutexTypeRecursive), >>> m_register_info (), >>> m_async_broadcaster (NULL, >>> "lldb.process.gdb-remote.async-broadcaster"), >>> m_async_thread_state_mutex(Mutex::eMutexTypeRecursive), >>> @@ -2485,6 +2485,18 @@ ProcessGDBRemote::SetThreadStopInfo (Str >>> } >>> } >>> >>> + if (tid == LLDB_INVALID_THREAD_ID) >>> + { >>> + // A thread id may be invalid if the response is old style >>> 'S' packet which does not provide the >>> + // thread information. So update the thread list and >>> choose the first one. >>> + UpdateThreadIDList (); >>> + >>> + if (!m_thread_ids.empty ()) >>> + { >>> + tid = m_thread_ids.front (); >>> + } >>> + } >>> + >>> ThreadSP thread_sp = SetThreadStopInfo (tid, >>> expedited_register_map, >>> signo, @@ -2499,19 >>> +2511,6 @@ ProcessGDBRemote::SetThreadStopInfo (Str >>> queue_kind, >>> queue_serial); >>> >>> - // If the response is old style 'S' packet which does not >>> provide us with thread information >>> - // then update the thread list and choose the first one. >>> - if (!thread_sp) >>> - { >>> - UpdateThreadIDList (); >>> - >>> - if (!m_thread_ids.empty ()) >>> - { >>> - Mutex::Locker locker (m_thread_list_real.GetMutex ()); >>> - thread_sp = m_thread_list_real.FindThreadByProtocolID >>> (m_thread_ids.front (), false); >>> - } >>> - } >>> - >>> return eStateStopped; >>> } >>> break; >>> >>> >>> _______________________________________________ >>> lldb-commits mailing list >>> lldb-comm...@cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits