[Lldb-commits] [PATCH] D127500: [lldb] [llgs] Make `k` kill all processes, and fix multiple exits

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 20 02:00:50 PDT 2022


labath added a comment.

I've ran into the "dynamic uninitialization order fiasco" problem as well. I'm wondering if, instead of the trick (which is pretty neat, but still a trick) with the limbo member variable, we could add something like the `asyncio.loop.call_soon` function in python to our MainLoop class. So, instead of immediately calling the exited callback (and possibly others as well), the process class would schedule the call to be made upon return to the top-level loop.

What do you think about that?



================
Comment at: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:1196
+  if (!bool(m_extensions_supported &
+            NativeProcessProtocol::Extension::multiprocess))
+    assert(!m_stdio_handle_up);
----------------
I don't think this is right. I believe the important distinction is whether we have non-stop mode enabled or not, because in all-stop mode we are not able to send stdio while stopped, regardless of how many processes we're debugging.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127500/new/

https://reviews.llvm.org/D127500



More information about the lldb-commits mailing list