diff options
author | Pedro Alves <palves@redhat.com> | 2009-11-16 18:15:05 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-11-16 18:15:05 +0000 |
commit | fd7dd3e67aa6a8d3f8019a4b3e19837660db1414 (patch) | |
tree | 22e8f50cc2caad1226c68149b4c52b12bff066d4 /gdb/gdbserver/linux-low.c | |
parent | f7c21dc7b864993ed09c1c32bc1de9071da40348 (diff) | |
download | gdb-fd7dd3e67aa6a8d3f8019a4b3e19837660db1414.zip gdb-fd7dd3e67aa6a8d3f8019a4b3e19837660db1414.tar.gz gdb-fd7dd3e67aa6a8d3f8019a4b3e19837660db1414.tar.bz2 |
* linux-low.c (linux_remove_process): Add `detaching' parameter.
Pass it to thread_db_free.
(linux_kill, linux_detach, linux_wait_1): Adjust to pass the
proper `detaching' argument to linux_remove_process.
* linux-low.h (thread_db_free): Add `detaching' parameter.
* thread-db.c (thread_db_init): Pass false as `detaching' argument
to thread_db_free.
(thread_db_free): Add `detaching' parameter. Only
call td_ta_clear_event if detaching from process.
Diffstat (limited to 'gdb/gdbserver/linux-low.c')
-rw-r--r-- | gdb/gdbserver/linux-low.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 8a88237..45dd9f7 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -259,12 +259,12 @@ linux_add_process (int pid, int attached) also freeing all private data. */ static void -linux_remove_process (struct process_info *process) +linux_remove_process (struct process_info *process, int detaching) { struct process_info_private *priv = process->private; #ifdef USE_THREAD_DB - thread_db_free (process); + thread_db_free (process, detaching); #endif free (priv->arch_private); @@ -663,7 +663,7 @@ linux_kill (int pid) } while (lwpid > 0 && WIFSTOPPED (wstat)); delete_lwp (lwp); - linux_remove_process (process); + linux_remove_process (process, 0); return 0; } @@ -752,7 +752,7 @@ linux_detach (int pid) delete_all_breakpoints (); find_inferior (&all_threads, linux_detach_one_lwp, &pid); - linux_remove_process (process); + linux_remove_process (process, 1); return 0; } @@ -1378,7 +1378,7 @@ retry: struct process_info *process = find_process_pid (pid); delete_lwp (lwp); - linux_remove_process (process); + linux_remove_process (process, 0); current_inferior = NULL; |