This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Remove usage of find_inferior in unsuspend_all_lwps
- From: Simon Marchi <simark at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 20 Nov 2017 03:25:22 -0000
- Subject: [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);