labath added a comment. This seems reasonable.
Why don't we have tests that detach from the parent process (and maybe continue the child)? Does that already work? (or in general, what is expected to work after this patch?) ================ Comment at: lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp:932 + + std::unique_ptr<NativeProcessProtocol> child_process_up{child_process}; + Extension expected_ext = is_vfork ? Extension::vfork : Extension::fork; ---------------- Store directly into unique_ptr<NativeProcessLinux> above. ================ Comment at: lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp:938-940 + parent_thread->SetStoppedByVFork(child_pid); + else + parent_thread->SetStoppedByFork(child_pid); ---------------- I'd consider merging the two functions into `SetStoppedByFork(is_vfork, child_pid)` ================ Comment at: lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp:401-402 + m_stop_info.reason = StopReason::eStopReasonFork; + m_stop_info.details.fork.child_pid = child_pid; + m_stop_info.details.fork.child_tid = child_pid; +} ---------------- duplicated ================ Comment at: lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp:409-410 + m_stop_info.reason = StopReason::eStopReasonVFork; + m_stop_info.details.fork.child_pid = child_pid; + m_stop_info.details.fork.child_tid = child_pid; +} ---------------- ditto ================ Comment at: lldb/test/API/tools/lldb-server/main.cpp:322-327 + } else if (!std::strcmp(argv[i], FORK_COMMAND)) { + if (fork() == 0) + _exit(0); + } else if (!std::strcmp(argv[i], VFORK_COMMAND)) { + if (vfork() == 0) + _exit(0); ---------------- I guess these would need to be ifdefed too. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100208/new/ https://reviews.llvm.org/D100208 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits