diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2017-12-02 20:36:38 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2017-12-02 20:36:38 -0500 |
commit | 454296a2c1f3afe163e49730b9b396ffdd985e1f (patch) | |
tree | fec67a1963ae0a984951bdf40ab20411db80e395 /gdb/gdbserver | |
parent | 6b2a85daf5a5c20c6d4832de1f19109d9e1cf17a (diff) | |
download | binutils-gdb-454296a2c1f3afe163e49730b9b396ffdd985e1f.tar.gz |
Remove usage of find_inferior in find_lwp_pid
Replace with find_thread. We could almost use find_thread_ptid, except
that find_lwp_pid uses the pid of the input ptid of the lwp is 0, so the
behavior is not quite the same.
gdb/gdbserver/ChangeLog:
* linux-low.c (same_lwp): Remove.
(find_lwp_pid): Use find_thread.
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/linux-low.c | 23 |
2 files changed, 10 insertions, 18 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index faee0c6496e..81694105603 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,5 +1,10 @@ 2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + * linux-low.c (same_lwp): Remove. + (find_lwp_pid): Use find_thread. + +2017-12-02 Simon Marchi <simon.marchi@polymtl.ca> + * linux-low.c (delete_lwp_callback): Remove. (linux_mourn): Use for_each_thread. diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 498af11a791..dd05a9f6bd8 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -1808,27 +1808,14 @@ status_pending_p_callback (thread_info *thread, ptid_t ptid) return lp->status_pending_p; } -static int -same_lwp (thread_info *thread, void *data) -{ - ptid_t ptid = *(ptid_t *) data; - int lwp; - - if (ptid_get_lwp (ptid) != 0) - lwp = ptid_get_lwp (ptid); - else - lwp = ptid_get_pid (ptid); - - if (thread->id.lwp () == lwp) - return 1; - - return 0; -} - struct lwp_info * find_lwp_pid (ptid_t ptid) { - thread_info *thread = find_inferior (&all_threads, same_lwp, &ptid); + thread_info *thread = find_thread ([&] (thread_info *thread) + { + int lwp = ptid.lwp () != 0 ? ptid.lwp () : ptid.pid (); + return thread->id.lwp () == lwp; + }); if (thread == NULL) return NULL; |