[Lldb-commits] [lldb] Fix lldb crash while handling concurrent vfork() (PR #81564)

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Fri Feb 23 09:57:28 PST 2024


================
@@ -0,0 +1,70 @@
+#include <iostream>
+#include <mutex>
+#include <sys/wait.h>
+#include <thread>
+#include <unistd.h>
+#include <vector>
+
+pid_t g_pid = 0;
+std::mutex g_child_pids_mutex;
+std::vector<pid_t> g_child_pids;
+
+int call_vfork(int index) {
----------------
clayborg wrote:

We probably want to test with both `fork()` and `vfork()` here and we want to know if we want to call `exec*()` or not. If we add a `const char *exec_path` to the call and this is not NULL, then we call exec. So maybe change this to be:
```
int call_vfork(int index, bool use_vfork, const char *exec_path)
```

https://github.com/llvm/llvm-project/pull/81564


More information about the lldb-commits mailing list