From 8f9fc88f581b701c626e3fb68bc45e8683a38d12 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 28 Jun 2012 16:34:02 +0000 Subject: gdb/ 2012-06-28 Jan Kratochvil Pedro Alves * gdbthread.h (ALL_THREADS): New macro. (thread_list): Declare. * infrun.c (handle_inferior_event) : Don't keep going, but instead fall through to the stepping handling. * linux-nat.c (resume_lwp): New parameter 'signo'. Resume with the passed in signal. Adjust debug output. (resume_callback): Rename to ... (linux_nat_resume_callback): ... this. Pass the thread's last stop signal, if in "pass" state. (linux_nat_resume): Adjust to rename. (stop_wait_callback): New assertion. Don't respawn signals; instead let the LWP remain with SIGNALLED set. (linux_nat_wait_1): Remove flushing of pending SIGSTOPs. * remote.c (append_pending_thread_resumptions): New. (remote_vcont_resume): Call it. * target.h (target_resume): Extend comment. gdb/testsuite/ 2012-06-28 Jan Kratochvil Pedro Alves * gdb.threads/siginfo-threads.exp: New file. * gdb.threads/siginfo-threads.c: New file. * gdb.threads/sigstep-threads.exp: New file. * gdb.threads/sigstep-threads.c: New file. --- gdb/gdbthread.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gdb/gdbthread.h') diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h index 7cd66b603e7..02505559d6c 100644 --- a/gdb/gdbthread.h +++ b/gdb/gdbthread.h @@ -301,6 +301,11 @@ void thread_change_ptid (ptid_t old_ptid, ptid_t new_ptid); typedef int (*thread_callback_func) (struct thread_info *, void *); extern struct thread_info *iterate_over_threads (thread_callback_func, void *); +/* Traverse all threads. */ + +#define ALL_THREADS(T) \ + for (T = thread_list; T; T = T->next) + extern int thread_count (void); /* Switch from one thread to another. */ @@ -391,4 +396,6 @@ extern struct thread_info* inferior_thread (void); extern void update_thread_list (void); +extern struct thread_info *thread_list; + #endif /* GDBTHREAD_H */ -- cgit v1.2.1