Remove usage of find_inferior in linux_stabilize_threads
authorSimon Marchi <simon.marchi@ericsson.com>
Mon, 20 Nov 2017 03:23:25 +0000 (22:23 -0500)
committerSimon Marchi <simon.marchi@polymtl.ca>
Mon, 20 Nov 2017 03:23:25 +0000 (22:23 -0500)
Simply replace with find_thread.

gdb/gdbserver/ChangeLog:

* linux-low.c (stuck_in_jump_pad_callback): Change prototype,
return bool, remove data argument.
(linux_stabilize_threads): Use find_thread.

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

index f824cff26d64726b37c186b026f841429ffdaf1c..9232f07548b8d3a2698c245752f514037ac31ef2 100644 (file)
@@ -1,3 +1,9 @@
+2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * linux-low.c (stuck_in_jump_pad_callback): Change prototype,
+       return bool, remove data argument.
+       (linux_stabilize_threads): Use find_thread.
+
 2017-11-19  Simon Marchi  <simon.marchi@ericsson.com>
 
        * linux-low.c (unsuspend_one_lwp): Remove.
index fce3fd083356c7fecf29bda5b3854e10772a449b..b4c716c72d081e95bfe4444cee99866dc6b86716 100644 (file)
@@ -2985,7 +2985,7 @@ unsuspend_all_lwps (struct lwp_info *except)
 }
 
 static void move_out_of_jump_pad_callback (thread_info *thread);
-static int stuck_in_jump_pad_callback (thread_info *thread, void *data);
+static bool stuck_in_jump_pad_callback (thread_info *thread);
 static int lwp_running (thread_info *thread, void *data);
 static ptid_t linux_wait_1 (ptid_t ptid,
                            struct target_waitstatus *ourstatus,
@@ -3024,13 +3024,8 @@ static ptid_t linux_wait_1 (ptid_t ptid,
 static void
 linux_stabilize_threads (void)
 {
-  struct thread_info *saved_thread;
-  struct thread_info *thread_stuck;
+  thread_info *thread_stuck = find_thread (stuck_in_jump_pad_callback);
 
-  thread_stuck
-    = (struct thread_info *) find_inferior (&all_threads,
-                                           stuck_in_jump_pad_callback,
-                                           NULL);
   if (thread_stuck != NULL)
     {
       if (debug_threads)
@@ -3039,7 +3034,7 @@ linux_stabilize_threads (void)
       return;
     }
 
-  saved_thread = current_thread;
+  thread_info *saved_thread = current_thread;
 
   stabilizing_threads = 1;
 
@@ -3082,10 +3077,8 @@ linux_stabilize_threads (void)
 
   if (debug_threads)
     {
-      thread_stuck
-       = (struct thread_info *) find_inferior (&all_threads,
-                                               stuck_in_jump_pad_callback,
-                                               NULL);
+      thread_stuck = find_thread (stuck_in_jump_pad_callback);
+
       if (thread_stuck != NULL)
        debug_printf ("couldn't stabilize, LWP %ld got stuck in jump pad\n",
                      lwpid_of (thread_stuck));
@@ -4111,13 +4104,13 @@ wait_for_sigstop (void)
     }
 }
 
-/* Returns true if LWP ENTRY is stopped in a jump pad, and we can't
+/* Returns true if THREAD is stopped in a jump pad, and we can't
    move it out, because we need to report the stop event to GDB.  For
    example, if the user puts a breakpoint in the jump pad, it's
    because she wants to debug it.  */
 
-static int
-stuck_in_jump_pad_callback (thread_info *thread, void *data)
+static bool
+stuck_in_jump_pad_callback (thread_info *thread)
 {
   struct lwp_info *lwp = get_thread_lwp (thread);