This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Remove usage of find_thread when calling resume_status_pending_p


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=25c28b4d153ced950cc8702aafb054d6f14f6a02

commit 25c28b4d153ced950cc8702aafb054d6f14f6a02
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Nov 19 22:23:26 2017 -0500

    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:
---
 gdb/gdbserver/ChangeLog   |  6 ++++++
 gdb/gdbserver/linux-low.c | 16 ++++++----------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 0f9a639..859d18f 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,11 @@
 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.
 	(linux_set_resume_request): Return void, take arguments
 	directly.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index c1d17f1..ed897e9 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]