[all-commits] [llvm/llvm-project] 9d3aec: Fix a stall in running `quit` while a live proces...

jimingham via All-commits all-commits at lists.llvm.org
Thu Dec 7 14:36:40 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9d3aec5535adfdeb10a400e92cecc1cc0a5e26a6
      https://github.com/llvm/llvm-project/commit/9d3aec5535adfdeb10a400e92cecc1cc0a5e26a6
  Author: jimingham <jingham at apple.com>
  Date:   2023-12-07 (Thu, 07 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/ProcessTrace.cpp
    M lldb/source/Target/Target.cpp
    A lldb/test/API/driver/quit_speed/Makefile
    A lldb/test/API/driver/quit_speed/TestQuitWithProcess.py
    A lldb/test/API/driver/quit_speed/main.c

  Log Message:
  -----------
  Fix a stall in running `quit` while a live  process is running (#74687)

We need to generate events when finalizing, or we won't know that we
succeeded in stopping the process to detach/kill. Instead, we stall and
then after our 20 interrupt timeout, we kill the process (even if we
were supposed to detach) and exit.

OTOH, we have to not generate events when the Process is being
destructed because shared_from_this has already been torn down, and
using it will cause crashes.




More information about the All-commits mailing list