summaryrefslogtreecommitdiff
path: root/gdb/linux-thread-db.c
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2009-11-12 00:47:38 +0000
committerPaul Pluzhnikov <ppluzhnikov@google.com>2009-11-12 00:47:38 +0000
commit07d7dac250e4262fb7824d2223fe625d298e067d (patch)
tree8f9a4eb9bc2b184fba9e8746ff496ce2da405e06 /gdb/linux-thread-db.c
parent99275392ca778b0d29614e32c53891337dd1b719 (diff)
downloadgdb-07d7dac250e4262fb7824d2223fe625d298e067d.tar.gz
gdb/ChangeLog:
2009-11-11 Paul Pluzhnikov <ppluzhnikov@google.com> PR gdb/10838 * linux-thread-db.c (thread_db_info): New member. (disable_thread_event_reporting): Call td_ta_clear_event. gdbserver/ChangeLog: 2009-11-11 Paul Pluzhnikov <ppluzhnikov@google.com> PR gdb/10838 * thread-db.c (thread_db_free): Call td_ta_clear_event.
Diffstat (limited to 'gdb/linux-thread-db.c')
-rw-r--r--gdb/linux-thread-db.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index ac6a4e58536..32ac5c5d6de 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -141,6 +141,8 @@ struct thread_db_info
td_event_e event, td_notify_t *ptr);
td_err_e (*td_ta_set_event_p) (const td_thragent_t *ta,
td_thr_events_t *event);
+ td_err_e (*td_ta_clear_event_p) (const td_thragent_t *ta,
+ td_thr_events_t *event);
td_err_e (*td_ta_event_getmsg_p) (const td_thragent_t *ta,
td_event_msg_t *msg);
@@ -701,6 +703,7 @@ try_thread_db_load_1 (struct thread_db_info *info)
/* These are not essential. */
info->td_ta_event_addr_p = dlsym (info->handle, "td_ta_event_addr");
info->td_ta_set_event_p = dlsym (info->handle, "td_ta_set_event");
+ info->td_ta_clear_event_p = dlsym (info->handle, "td_ta_clear_event");
info->td_ta_event_getmsg_p = dlsym (info->handle, "td_ta_event_getmsg");
info->td_thr_event_enable_p = dlsym (info->handle, "td_thr_event_enable");
info->td_thr_tls_get_addr_p = dlsym (info->handle, "td_thr_tls_get_addr");
@@ -907,14 +910,14 @@ thread_db_load (void)
static void
disable_thread_event_reporting (struct thread_db_info *info)
{
- if (info->td_ta_set_event_p != NULL)
+ if (info->td_ta_clear_event_p != NULL)
{
td_thr_events_t events;
/* Set the process wide mask saying we aren't interested in any
events anymore. */
- td_event_emptyset (&events);
- info->td_ta_set_event_p (info->thread_agent, &events);
+ td_event_fillset (&events);
+ info->td_ta_clear_event_p (info->thread_agent, &events);
}
info->td_create_bp_addr = 0;