diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2017-12-02 20:36:34 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2017-12-02 20:36:34 -0500 |
commit | 8dc7b443a6295da4b3d7ba22f3a7695990bf4f39 (patch) | |
tree | b6fb2c9b95430b4ece0058ac220b3d0826cf4f0b /gdb/gdbserver | |
parent | da25033cd92a60f4462e1468abfabfee02d0b8d9 (diff) | |
download | binutils-gdb-8dc7b443a6295da4b3d7ba22f3a7695990bf4f39.tar.gz |
Remove find_inferior_id
Remove find_inferior_id, replacing its usages with find_thread_ptid.
find_thread_ptid was implemented using find_inferior_id, so move the
implementation there instead.
gdb/gdbserver/ChangeLog:
* inferiors.c (find_inferior_id): Remove.
(find_thread_ptid): Move implemention from find_inferior_id to
here.
* inferiors.h (find_inferior_id): Remove.
* server.c (handle_status): Use find_thread_ptid.
(process_serial_event): Likewise.
* thread-db.c (find_one_thread): Likewise.
(thread_db_thread_handle): Likewise.
* win32-low.c (thread_rec): Likewise.
(child_delete_thread): Likewise.
(win32_thread_alive): Likewise.
(get_child_debug_event): Likewise.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 15 | ||||
-rw-r--r-- | gdb/gdbserver/inferiors.c | 14 | ||||
-rw-r--r-- | gdb/gdbserver/inferiors.h | 2 | ||||
-rw-r--r-- | gdb/gdbserver/server.c | 6 | ||||
-rw-r--r-- | gdb/gdbserver/thread-db.c | 8 | ||||
-rw-r--r-- | gdb/gdbserver/win32-low.c | 23 |
6 files changed, 28 insertions, 40 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 967dff0dc0b..3b7eb441a28 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,5 +1,20 @@ 2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + * inferiors.c (find_inferior_id): Remove. + (find_thread_ptid): Move implemention from find_inferior_id to + here. + * inferiors.h (find_inferior_id): Remove. + * server.c (handle_status): Use find_thread_ptid. + (process_serial_event): Likewise. + * thread-db.c (find_one_thread): Likewise. + (thread_db_thread_handle): Likewise. + * win32-low.c (thread_rec): Likewise. + (child_delete_thread): Likewise. + (win32_thread_alive): Likewise. + (get_child_debug_event): Likewise. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + * linux-mips-low.c (update_watch_registers_callback): Return void, remove pid_p parameter, don't check for pid. (mips_insert_point, mips_remove_point): Use for_each_thread. diff --git a/gdb/gdbserver/inferiors.c b/gdb/gdbserver/inferiors.c index f4101c7513b..be3f3ef3c1d 100644 --- a/gdb/gdbserver/inferiors.c +++ b/gdb/gdbserver/inferiors.c @@ -43,16 +43,6 @@ find_inferior (std::list<thread_info *> *thread_list, } thread_info * -find_inferior_id (std::list<thread_info *> *thread_list, ptid_t id) -{ - gdb_assert (thread_list == &all_threads); - - return find_thread ([&] (thread_info *thread) { - return thread->id == id; - }); -} - -thread_info * find_inferior_in_random (std::list<thread_info *> *thread_list, int (*func) (thread_info *, void *), void *arg) @@ -120,7 +110,9 @@ get_first_thread (void) struct thread_info * find_thread_ptid (ptid_t ptid) { - return (struct thread_info *) find_inferior_id (&all_threads, ptid); + return find_thread ([&] (thread_info *thread) { + return thread->id == ptid; + }); } /* Find a thread associated with the given PROCESS, or NULL if no diff --git a/gdb/gdbserver/inferiors.h b/gdb/gdbserver/inferiors.h index 4c66a74305c..a8a374eb1f7 100644 --- a/gdb/gdbserver/inferiors.h +++ b/gdb/gdbserver/inferiors.h @@ -142,8 +142,6 @@ void clear_inferiors (void); thread_info *find_inferior (std::list<thread_info *> *thread_list, int (*func) (thread_info *, void *), void *arg); -thread_info *find_inferior_id (std::list<thread_info *> *thread_list, - ptid_t id); thread_info *find_inferior_in_random (std::list<thread_info *> *thread_list, int (*func) (thread_info *, void *), void *arg); diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index f0dac9569af..26c4a01c9c4 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -3355,7 +3355,7 @@ handle_status (char *own_buf) if (last_status.kind != TARGET_WAITKIND_IGNORE && last_status.kind != TARGET_WAITKIND_EXITED && last_status.kind != TARGET_WAITKIND_SIGNALLED) - thread = find_inferior_id (&all_threads, last_ptid); + thread = find_thread_ptid (last_ptid); /* If the last event thread is not found for some reason, look for some other thread that might have an event to report. */ @@ -4081,9 +4081,7 @@ process_serial_event (void) /* GDB is telling us to choose any thread. Check if the currently selected thread is still valid. If it is not, select the first available. */ - struct thread_info *thread = - (struct thread_info *) find_inferior_id (&all_threads, - general_thread); + thread_info *thread = find_thread_ptid (general_thread); if (thread == NULL) thread = get_first_thread (); thread_id = thread->id; diff --git a/gdb/gdbserver/thread-db.c b/gdb/gdbserver/thread-db.c index 67970f4ecac..537758cfb77 100644 --- a/gdb/gdbserver/thread-db.c +++ b/gdb/gdbserver/thread-db.c @@ -165,13 +165,12 @@ find_one_thread (ptid_t ptid) td_thrhandle_t th; td_thrinfo_t ti; td_err_e err; - struct thread_info *inferior; struct lwp_info *lwp; struct thread_db *thread_db = current_process ()->priv->thread_db; int lwpid = ptid_get_lwp (ptid); - inferior = (struct thread_info *) find_inferior_id (&all_threads, ptid); - lwp = get_thread_lwp (inferior); + thread_info *thread = find_thread_ptid (ptid); + lwp = get_thread_lwp (thread); if (lwp->thread_known) return 1; @@ -452,8 +451,7 @@ thread_db_thread_handle (ptid_t ptid, gdb_byte **handle, int *handle_len) { struct thread_db *thread_db; struct lwp_info *lwp; - struct thread_info *thread - = (struct thread_info *) find_inferior_id (&all_threads, ptid); + thread_info *thread = find_thread_ptid (ptid); if (thread == NULL) return false; diff --git a/gdb/gdbserver/win32-low.c b/gdb/gdbserver/win32-low.c index c7684b74ba8..fecab84b2f1 100644 --- a/gdb/gdbserver/win32-low.c +++ b/gdb/gdbserver/win32-low.c @@ -193,14 +193,11 @@ win32_require_context (win32_thread_info *th) static win32_thread_info * thread_rec (ptid_t ptid, int get_context) { - struct thread_info *thread; - win32_thread_info *th; - - thread = (struct thread_info *) find_inferior_id (&all_threads, ptid); + thread_info *thread = find_thread_ptid (ptid); if (thread == NULL) return NULL; - th = (win32_thread_info *) thread_target_data (thread); + win32_thread_info *th = (win32_thread_info *) thread_target_data (thread); if (get_context) win32_require_context (th); return th; @@ -244,14 +241,11 @@ delete_thread_info (thread_info *thread) static void child_delete_thread (DWORD pid, DWORD tid) { - ptid_t ptid; - /* If the last thread is exiting, just return. */ if (all_threads.size () == 1) return; - ptid = ptid_build (pid, tid, 0); - thread_info *thread = find_inferior_id (&all_threads, ptid); + thread_info *thread = find_thread_ptid (ptid_t (pid, tid)); if (thread == NULL) return; @@ -892,15 +886,9 @@ win32_join (int pid) static int win32_thread_alive (ptid_t ptid) { - int res; - /* Our thread list is reliable; don't bother to poll target threads. */ - if (find_inferior_id (&all_threads, ptid) != NULL) - res = 1; - else - res = 0; - return res; + return find_thread_ptid (ptid) != NULL; } /* Resume the inferior process. RESUME_INFO describes how we want @@ -1582,8 +1570,7 @@ get_child_debug_event (struct target_waitstatus *ourstatus) } ptid = debug_event_ptid (¤t_event); - current_thread = - (struct thread_info *) find_inferior_id (&all_threads, ptid); + current_thread = find_thread_ptid (ptid); return 1; } |