diff options
author | Paul Pluzhnikov <ppluzhnikov@google.com> | 2009-11-12 00:47:39 +0000 |
---|---|---|
committer | Paul Pluzhnikov <ppluzhnikov@google.com> | 2009-11-12 00:47:39 +0000 |
commit | 21e1bee4d23dc4a91ccccd69947fc109b4312230 (patch) | |
tree | 8ce2297a06e397c09e49b88ba58f8be8d8b53116 /gdb/linux-thread-db.c | |
parent | 20406f4ad3a44ead30dd314fb456094567c6ec70 (diff) | |
download | gdb-21e1bee4d23dc4a91ccccd69947fc109b4312230.zip gdb-21e1bee4d23dc4a91ccccd69947fc109b4312230.tar.gz gdb-21e1bee4d23dc4a91ccccd69947fc109b4312230.tar.bz2 |
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.c | 9 |
1 files changed, 6 insertions, 3 deletions
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; |