diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/lynx-nat.c | 15 |
2 files changed, 15 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c65bcee..2254328 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Sat Jun 24 19:27:37 1995 Jeffrey A. Law <law@rtl.cygnus.com> + + * lynx-nat.c (child_wait): Don't restart new threads and loop + to the top of child_wait; let the machine independent code in + wait_for_inferior deal with new thread notifications. + Fri Jun 23 11:51:58 1995 Kung Hsu <kung@mexican.cygnus.com> * remote-nindy (nindy_load): Put in target specific load, it's diff --git a/gdb/lynx-nat.c b/gdb/lynx-nat.c index 0a62229..f0e817e 100644 --- a/gdb/lynx-nat.c +++ b/gdb/lynx-nat.c @@ -649,13 +649,16 @@ child_wait (pid, ourstatus) if (realsig == SIGNEWTHREAD) { - /* Simply ignore new thread notification, as we can't do anything - useful with such threads. All ptrace calls at this point just - fail for no apparent reason. The thread will eventually get a - real signal when it becomes real. */ - child_resume (pid, 0, TARGET_SIGNAL_0); - continue; + /* It's a new thread notification. Nothing to do here since + the machine independent code in wait_for_inferior will + add the thread to the thread list and restart the thread + when pid != inferior_pid and pid is not in the thread + list. We don't even want to much with realsig -- the + code in wait_for_inferior expects SIGTRAP. */ + ; } + else + error ("Signal for unknown thread was not SIGNEWTHREAD"); } #ifdef SPARC |