From: Simon Marchi Date: Sun, 3 Dec 2017 01:36:38 +0000 (-0500) Subject: Remove usage of find_inferior in find_lwp_pid X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=454296a2c1f3afe163e49730b9b396ffdd985e1f;p=binutils-gdb.git 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. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index faee0c6496e..81694105603 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2017-12-02 Simon Marchi + + * linux-low.c (same_lwp): Remove. + (find_lwp_pid): Use find_thread. + 2017-12-02 Simon Marchi * linux-low.c (delete_lwp_callback): Remove. 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;