mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 18:44:20 +08:00
Remove usage of find_inferior in last_thread_of_process_p
Replace it with find_thread. I also modified the code a bit to use a lambda and a boolean. gdb/gdbserver/ChangeLog: * linux-low.c (struct counter): Remove. (second_thread_of_pid_p): Remove. (last_thread_of_process_p): Use find_thread.
This commit is contained in:
parent
83e1b6c13a
commit
e4eb0dec0b
@ -1,3 +1,9 @@
|
|||||||
|
2017-12-02 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
|
* linux-low.c (struct counter): Remove.
|
||||||
|
(second_thread_of_pid_p): Remove.
|
||||||
|
(last_thread_of_process_p): Use find_thread.
|
||||||
|
|
||||||
2017-12-02 Simon Marchi <simon.marchi@polymtl.ca>
|
2017-12-02 Simon Marchi <simon.marchi@polymtl.ca>
|
||||||
|
|
||||||
* inferiors.c (find_inferior_in_random): Remove.
|
* inferiors.c (find_inferior_in_random): Remove.
|
||||||
|
@ -1241,33 +1241,27 @@ linux_attach (unsigned long pid)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct counter
|
|
||||||
{
|
|
||||||
int pid;
|
|
||||||
int count;
|
|
||||||
};
|
|
||||||
|
|
||||||
static int
|
|
||||||
second_thread_of_pid_p (thread_info *thread, void *args)
|
|
||||||
{
|
|
||||||
struct counter *counter = (struct counter *) args;
|
|
||||||
|
|
||||||
if (thread->id.pid () == counter->pid)
|
|
||||||
{
|
|
||||||
if (++counter->count > 1)
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
last_thread_of_process_p (int pid)
|
last_thread_of_process_p (int pid)
|
||||||
{
|
{
|
||||||
struct counter counter = { pid , 0 };
|
bool seen_one = false;
|
||||||
|
|
||||||
return (find_inferior (&all_threads,
|
thread_info *thread = find_thread (pid, [&] (thread_info *thread)
|
||||||
second_thread_of_pid_p, &counter) == NULL);
|
{
|
||||||
|
if (!seen_one)
|
||||||
|
{
|
||||||
|
/* This is the first thread of this process we see. */
|
||||||
|
seen_one = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* This is the second thread of this process we see. */
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return thread == NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Kill LWP. */
|
/* Kill LWP. */
|
||||||
|
Loading…
Reference in New Issue
Block a user