Non-stop linux native.
authorPedro Alves <palves@redhat.com>
Thu, 10 Jul 2008 22:58:37 +0000 (22:58 +0000)
committerPedro Alves <palves@redhat.com>
Thu, 10 Jul 2008 22:58:37 +0000 (22:58 +0000)
commit4c28f408dfc2ab71b7995f061cc725d3f217ec9c
treeef445522d9570d3095191dd7317fddcd48db584d
parent981505ef9aa495c8c67d1c9623c7ad3b586d678b
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.
gdb/ChangeLog
gdb/linux-fork.c
gdb/linux-nat.c
gdb/linux-nat.h
gdb/linux-thread-db.c