diff options
Diffstat (limited to 'gdb/sol-thread.c')
-rw-r--r-- | gdb/sol-thread.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c index ae1e5c0..07e00a2 100644 --- a/gdb/sol-thread.c +++ b/gdb/sol-thread.c @@ -1111,19 +1111,21 @@ info_solthreads (const char *args, int from_tty) ptid_t sol_thread_target::get_ada_task_ptid (long lwp, ULONGEST thread) { - struct thread_info *thread_info - = iterate_over_threads ([&] (struct thread_info *thread) + auto thread_db_find_thread_from_tid + = [&] (struct thread_info *iter) { - return thread->ptid.tid () == thread; - }); + return iter->ptid.tid () == thread; + }; + + struct thread_info *thread_info + = iterate_over_threads (thread_db_find_thread_from_tid); if (thread_info == NULL) { /* The list of threads is probably not up to date. Find any thread that is missing from the list, and try again. */ update_thread_list (); - thread_info = iterate_over_threads (thread_db_find_thread_from_tid, - &thread); + thread_info = iterate_over_threads (thread_db_find_thread_from_tid); } gdb_assert (thread_info != NULL); |