* target.h (target_ops): Change return type of detach to int.
[deliverable/binutils-gdb.git] / gdb / gdbserver / linux-low.c
index ff4f81e60c20548454d92fa57e3d9d1fb605f726..2ea54c3543625555ad6670c63cafa6a949c84fc6 100644 (file)
@@ -293,6 +293,19 @@ linux_detach (void)
   for_each_inferior (&all_threads, linux_detach_one_process);
 }
 
+static void
+linux_join (void)
+{
+  extern unsigned long signal_pid;
+  int status, ret;
+
+  do {
+    ret = waitpid (signal_pid, &status, 0);
+    if (WIFEXITED (status) || WIFSIGNALED (status))
+      break;
+  } while (ret != -1 || errno != ECHILD);
+}
+
 /* Return nonzero if the given thread is still alive.  */
 static int
 linux_thread_alive (unsigned long tid)
@@ -1656,6 +1669,7 @@ static struct target_ops linux_target_ops = {
   linux_attach,
   linux_kill,
   linux_detach,
+  linux_join,
   linux_thread_alive,
   linux_resume,
   linux_wait,
This page took 0.027139 seconds and 4 git commands to generate.