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.
This commit is contained in:
Simon Marchi 2017-12-02 20:36:38 -05:00
parent 6b2a85daf5
commit 454296a2c1
2 changed files with 10 additions and 18 deletions

View File

@ -1,3 +1,8 @@
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.

View File

@ -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;