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

Reply via email to