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_inferior in unsuspend_all_lwps


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

commit 139720c5b32963ce52c5f691e179920ff84a2237
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Nov 19 22:23:24 2017 -0500

    Remove usage of find_inferior in unsuspend_all_lwps
    
    Replace with for_each_thread.  I inlined unsuspend_one_lwp in
    unsuspend_all_lwps, since it is very simple.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-low.c (unsuspend_one_lwp): Remove.
    	(unsuspend_all_lwps): Use for_each_thread, inline code from
    	unsuspend_one_lwp.

Diff:
---
 gdb/gdbserver/ChangeLog   |  6 ++++++
 gdb/gdbserver/linux-low.c | 23 +++++++----------------
 2 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 5183022..f824cff 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 (unsuspend_one_lwp): Remove.
+	(unsuspend_all_lwps): Use for_each_thread, inline code from
+	unsuspend_one_lwp.
+
+2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
+
 	* gdbthread.h (find_thread): Add overload with ptid_t filter.
 	* linux-low.c (struct iterate_over_lwps_args): Remove.
 	(iterate_over_lwps_filter): Remove.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index fd8e45e..fce3fd0 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -2969,28 +2969,19 @@ select_event_lwp (struct lwp_info **orig_lp)
     }
 }
 
-/* Decrement the suspend count of an LWP.  */
-
-static int
-unsuspend_one_lwp (thread_info *thread, void *except)
-{
-  struct lwp_info *lwp = get_thread_lwp (thread);
-
-  /* Ignore EXCEPT.  */
-  if (lwp == except)
-    return 0;
-
-  lwp_suspended_decr (lwp);
-  return 0;
-}
-
 /* Decrement the suspend count of all LWPs, except EXCEPT, if non
    NULL.  */
 
 static void
 unsuspend_all_lwps (struct lwp_info *except)
 {
-  find_inferior (&all_threads, unsuspend_one_lwp, except);
+  for_each_thread ([&] (thread_info *thread)
+    {
+      lwp_info *lwp = get_thread_lwp (thread);
+
+      if (lwp != except)
+	lwp_suspended_decr (lwp);
+    });
 }
 
 static void move_out_of_jump_pad_callback (thread_info *thread);


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