From: Jeff Law Date: Thu, 27 Jul 1995 19:57:16 +0000 (+0000) Subject: * lynx-nat.c (child_wait): Handle threads exiting. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b339391255f1cc90d6f24375a5fb3ae5fe1e0dde;p=binutils-gdb.git * lynx-nat.c (child_wait): Handle threads exiting. --- 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