Remove usages of find_inferior in stop_all_lwps
authorSimon Marchi <simon.marchi@polymtl.ca>
Sun, 3 Dec 2017 01:36:41 +0000 (20:36 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sun, 3 Dec 2017 01:36:42 +0000 (20:36 -0500)
Replace with for_each_thread.

gdb/gdbserver/ChangeLog:

* linux-low.c (send_sigstop_callback): Return void, change
parameter type.  Rename to...
(send_sigstop): ... this.
(suspend_and_send_sigstop_callback): Return void, change parameter
type.  Rename to...
(suspend_and_send_sigstop): ... this.
(stop_all_lwps): Use for_each_thread.

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

index 88319ae209fcafd943a55d7f1dcda8fbf896c265..1d88781cce84a2304c8fcda18c964984aaf950c2 100644 (file)
@@ -1,3 +1,13 @@
+2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
+
+       * linux-low.c (send_sigstop_callback): Return void, change
+       parameter type.  Rename to...
+       (send_sigstop): ... this.
+       (suspend_and_send_sigstop_callback): Return void, change parameter
+       type.  Rename to...
+       (suspend_and_send_sigstop): ... this.
+       (stop_all_lwps): Use for_each_thread.
+
 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * linux-low.c (lwp_running): Return bool, remove unused
index 840bf694b76de773357b32fe02e6f354d47b0a79..9725b4906c691559c33a476c2713de681f938935 100644 (file)
@@ -3933,36 +3933,35 @@ send_sigstop (struct lwp_info *lwp)
   kill_lwp (pid, SIGSTOP);
 }
 
-static int
-send_sigstop_callback (thread_info *thread, void *except)
+static void
+send_sigstop (thread_info *thread, lwp_info *except)
 {
   struct lwp_info *lwp = get_thread_lwp (thread);
 
   /* Ignore EXCEPT.  */
   if (lwp == except)
-    return 0;
+    return;
 
   if (lwp->stopped)
-    return 0;
+    return;
 
   send_sigstop (lwp);
-  return 0;
 }
 
 /* Increment the suspend count of an LWP, and stop it, if not stopped
    yet.  */
-static int
-suspend_and_send_sigstop_callback (thread_info *thread, void *except)
+static void
+suspend_and_send_sigstop (thread_info *thread, lwp_info *except)
 {
   struct lwp_info *lwp = get_thread_lwp (thread);
 
   /* Ignore EXCEPT.  */
   if (lwp == except)
-    return 0;
+    return;
 
   lwp_suspended_inc (lwp);
 
-  return send_sigstop_callback (thread, except);
+  send_sigstop (thread, except);
 }
 
 static void
@@ -4157,9 +4156,16 @@ stop_all_lwps (int suspend, struct lwp_info *except)
                      : STOPPING_THREADS);
 
   if (suspend)
-    find_inferior (&all_threads, suspend_and_send_sigstop_callback, except);
+    for_each_thread ([&] (thread_info *thread)
+      {
+       suspend_and_send_sigstop (thread, except);
+      });
   else
-    find_inferior (&all_threads, send_sigstop_callback, except);
+    for_each_thread ([&] (thread_info *thread)
+      {
+        send_sigstop (thread, except);
+      });
+
   wait_for_sigstop ();
   stopping_threads = NOT_STOPPING_THREADS;
 
This page took 0.036511 seconds and 4 git commands to generate.