From 21e1bee4d23dc4a91ccccd69947fc109b4312230 Mon Sep 17 00:00:00 2001 From: Paul Pluzhnikov Date: Thu, 12 Nov 2009 00:47:39 +0000 Subject: gdb/ChangeLog: 2009-11-11 Paul Pluzhnikov 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 PR gdb/10838 * thread-db.c (thread_db_free): Call td_ta_clear_event. --- gdb/linux-thread-db.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gdb/linux-thread-db.c') diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c index ac6a4e5..32ac5c5 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; -- cgit v1.1