* lynx-nat.c (child_thread_alive): New function. Somehow I
authorJeff Law <law@redhat.com>
Fri, 21 Jul 1995 23:52:45 +0000 (23:52 +0000)
committerJeff Law <law@redhat.com>
Fri, 21 Jul 1995 23:52:45 +0000 (23:52 +0000)
        forgot to check this in with all the other thread_alive changes.

gdb/lynx-nat.c

index 883496ed7b406a0d07252800d1b94ca900edf20f..4b2d288eee9192f1e155d9c262e8c35a486ba7c0 100644 (file)
@@ -696,6 +696,23 @@ child_wait (pid, ourstatus)
     }
 }
 
+/* Return nonzero if the given thread is still alive.  */
+int
+child_thread_alive (pid)
+     int pid;
+{
+  /* Arggh.  Apparently pthread_kill only works for threads within
+     the process that calls pthread_kill.
+
+     We want to avoid the lynx signal extensions as they simply don't
+     map well to the generic gdb interface we want to keep.
+
+     All we want to do is determine if a particular thread is alive;
+     it appears as if we can just make a harmless thread specific
+     ptrace call to do that.  */
+  return (ptrace (PTRACE_THREADUSER, pid, 0, 0) != -1);
+}
+
 /* Resume execution of the inferior process.
    If STEP is nonzero, single-step it.
    If SIGNAL is nonzero, give it that signal.  */