[Lldb-commits] [PATCH] D12968: Fix for lldb-mi crash in Listener code if -exec-abort MI command was invoked without getting process stopped

Kirill Lapshin via lldb-commits lldb-commits at lists.llvm.org
Wed Sep 23 06:55:16 PDT 2015


KLapshin removed rL LLVM as the repository for this revision.
KLapshin updated this revision to Diff 35491.

http://reviews.llvm.org/D12968

Files:
  source/Target/Process.cpp

Index: source/Target/Process.cpp
===================================================================
--- source/Target/Process.cpp
+++ source/Target/Process.cpp
@@ -3930,8 +3930,16 @@
         // Consume the interrupt event.
         TimeValue timeout (TimeValue::Now());
         timeout.OffsetWithSeconds(10);
-        StateType state = WaitForProcessToStop (&timeout, &exit_event_sp);
 
+        ListenerSP listener_sp (new Listener("lldb.Process.StopForDestroyOrDetach.hijack"));
+        HijackProcessEvents(listener_sp.get());
+
+        StateType state = WaitForProcessToStop (&timeout, &exit_event_sp, true, listener_sp.get());
+
+        // Don't forget to notify other listeners.
+        RestoreProcessEvents();
+        BroadcastEvent(exit_event_sp);
+
         // If the process exited while we were waiting for it to stop, put the exited event into
         // the shared pointer passed in and return.  Our caller doesn't need to do anything else, since
         // they don't have a process anymore...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12968.35491.patch
Type: text/x-patch
Size: 1017 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150923/054ad499/attachment.bin>


More information about the lldb-commits mailing list