aboutsummaryrefslogtreecommitdiff
path: root/gdb/linux-nat.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2008-07-10 22:58:37 +0000
committerPedro Alves <palves@redhat.com>2008-07-10 22:58:37 +0000
commit4c28f408dfc2ab71b7995f061cc725d3f217ec9c (patch)
treeef445522d9570d3095191dd7317fddcd48db584d /gdb/linux-nat.h
parent981505ef9aa495c8c67d1c9623c7ad3b586d678b (diff)
downloadgdb-4c28f408dfc2ab71b7995f061cc725d3f217ec9c.zip
gdb-4c28f408dfc2ab71b7995f061cc725d3f217ec9c.tar.gz
gdb-4c28f408dfc2ab71b7995f061cc725d3f217ec9c.tar.bz2
Non-stop linux native.
* linux-nat.c (linux_test_for_tracefork): Block events while we're here. (get_pending_status): Implement non-stop mode. (linux_nat_detach): Stop threads before detaching. (linux_nat_resume): In non-stop mode, always resume only a single PTID. (linux_handle_extended_wait): On a clone event, in non-stop mode, add new lwp to GDB's thread table, and mark as running, executing and stopped appropriately. (linux_nat_filter_event): Don't assume there are other running threads when a thread exits. (linux_nat_wait): Mark the main thread as running and executing. In non-stop mode, don't stop all lwps. (linux_nat_kill): Stop lwps before killing them. (linux_nat_thread_alive): Use signal 0 to detect if a thread is alive. (send_sigint_callback): New. (linux_nat_stop): New. (linux_nat_add_target): Set to_stop to linux_nat_stop. * linux-nat.h (thread_db_attach_lwp): Declare. * linux-thread-db.c (thread_get_info_callback): Check for new threads if we have none. (thread_from_lwp, enable_thread_event): Set proc_handle.pid to the stopped lwp. Check for new threads if we have none. (thread_db_attach_lwp): New. (thread_db_init): Set proc_handle.pid to inferior_ptid. (check_event): Set proc_handle.pid to the stopped lwp. (thread_db_find_new_threads): Set proc_handle.pid to any stopped lwp available, bail out if there is none. * linux-fork.c (linux_fork_killall): Use SIGKILL instead of PTRACE_KILL.
Diffstat (limited to 'gdb/linux-nat.h')
-rw-r--r--gdb/linux-nat.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
index 48c9a0c..f3386f7 100644
--- a/gdb/linux-nat.h
+++ b/gdb/linux-nat.h
@@ -94,6 +94,8 @@ void check_for_thread_db (void);
/* Tell the thread_db layer what native target operations to use. */
void thread_db_init (struct target_ops *);
+int thread_db_attach_lwp (ptid_t ptid);
+
/* Find process PID's pending signal set from /proc/pid/status. */
void linux_proc_pending_signals (int pid, sigset_t *pending, sigset_t *blocked, sigset_t *ignored);