From: Simon Marchi Date: Mon, 20 Nov 2017 03:23:26 +0000 (-0500) Subject: Remove usage of find_thread when calling resume_status_pending_p X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=25c28b4d153ced950cc8702aafb054d6f14f6a02;hp=5fdda39248cc4a3311efbff3cf2350123d638232;p=deliverable%2Fbinutils-gdb.git Remove usage of find_thread when calling resume_status_pending_p Replace with find_thread. Instead of setting the flag in the callback, make the callback return true/false, and check the result against NULL in the caller. gdb/gdbserver/ChangeLog: * linux-low.c (resume_status_pending_p): Return bool, remove flag_p argument. (linux_resume): Use find_thread. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 0f9a6394a5..859d18f09d 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,9 @@ +2017-11-19 Simon Marchi + + * linux-low.c (resume_status_pending_p): Return bool, remove + flag_p argument. + (linux_resume): Use find_thread. + 2017-11-19 Simon Marchi * linux-low.c (struct thread_resume_array): Remove. diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index c1d17f1766..ed897e9100 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -4684,20 +4684,17 @@ linux_set_resume_request (thread_info *thread, thread_resume *resume, size_t n) /* find_inferior callback for linux_resume. Set *FLAG_P if this lwp has an interesting status pending. */ -static int -resume_status_pending_p (thread_info *thread, void *flag_p) +static bool +resume_status_pending_p (thread_info *thread) { struct lwp_info *lwp = get_thread_lwp (thread); /* LWPs which will not be resumed are not interesting, because we might not wait for them next time through linux_wait. */ if (lwp->resume == NULL) - return 0; + return false; - if (thread_still_has_status_pending_p (thread)) - * (int *) flag_p = 1; - - return 0; + return thread_still_has_status_pending_p (thread); } /* Return 1 if this lwp that GDB wants running is stopped at an @@ -5092,7 +5089,6 @@ static void linux_resume (struct thread_resume *resume_info, size_t n) { struct thread_info *need_step_over = NULL; - int any_pending; int leave_all_stopped; if (debug_threads) @@ -5112,9 +5108,9 @@ linux_resume (struct thread_resume *resume_info, size_t n) would otherwise be sent. In non-stop mode, we'll apply this logic to each thread individually. We consume all pending events before considering to start a step-over (in all-stop). */ - any_pending = 0; + bool any_pending = false; if (!non_stop) - find_inferior (&all_threads, resume_status_pending_p, &any_pending); + any_pending = find_thread (resume_status_pending_p) != NULL; /* If there is a thread which would otherwise be resumed, which is stopped at a breakpoint that needs stepping over, then don't