From b339391255f1cc90d6f24375a5fb3ae5fe1e0dde Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 27 Jul 1995 19:57:16 +0000 Subject: [PATCH] * lynx-nat.c (child_wait): Handle threads exiting. --- gdb/lynx-nat.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gdb/lynx-nat.c b/gdb/lynx-nat.c index 4b2d288eee9..8122cf4a1f2 100644 --- a/gdb/lynx-nat.c +++ b/gdb/lynx-nat.c @@ -666,6 +666,22 @@ child_wait (pid, ourstatus) error ("Signal for unknown thread was not SIGNEWTHREAD"); } + /* Check for thread termination. */ + else if (WIFSTOPPED(status) + && WSTOPSIG(status) == SIGTRAP + && in_thread_list (pid)) + { + int realsig; + + realsig = ptrace (PTRACE_GETTRACESIG, pid, (PTRACE_ARG3_TYPE)0, 0); + + if (realsig == SIGTHREADEXIT) + { + ptrace (PTRACE_CONT, PIDGET (pid), (PTRACE_ARG3_TYPE)0, 0); + continue; + } + } + #ifdef SPARC /* SPARC Lynx uses an byte reversed wait status; we must use the host macros to access it. These lines just a copy of -- 2.30.2