Remove usage of find_thread when calling resume_status_pending_p
authorSimon Marchi <simon.marchi@ericsson.com>
Mon, 20 Nov 2017 03:23:26 +0000 (22:23 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Mon, 20 Nov 2017 03:23:27 +0000 (22:23 -0500)
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.

gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c

index 0f9a6394a594b006bf43f5c00139039eabf8df6f..859d18f09dd0eb51c411ee2deb60618bca00af10 100644 (file)
@@ -1,3 +1,9 @@
+2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * linux-low.c (resume_status_pending_p): Return bool, remove
+       flag_p argument.
+       (linux_resume): Use find_thread.
+
 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
 
        * linux-low.c (struct thread_resume_array): Remove.
index c1d17f1766e256c1193b731d01ece35cd913f730..ed897e9100c3bd87b15e47ae1e7532e5cfdbebcb 100644 (file)
@@ -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