diff options
author | Marc Khouzam <marc.khouzam@ericsson.com> | 2011-04-19 15:16:14 +0000 |
---|---|---|
committer | Marc Khouzam <marc.khouzam@ericsson.com> | 2011-04-19 15:16:14 +0000 |
commit | 9941e0c5c123c37b55ff77cb4caa78e87b95823e (patch) | |
tree | 8dadb10884370182b36c5fd40e52f7d18f65d639 /gdb/thread.c | |
parent | ed4b0e6a5218948292b2a22e28537a3b0e1c9bd8 (diff) | |
download | binutils-9941e0c5c123c37b55ff77cb4caa78e87b95823e.zip binutils-9941e0c5c123c37b55ff77cb4caa78e87b95823e.tar.gz binutils-9941e0c5c123c37b55ff77cb4caa78e87b95823e.tar.bz2 |
2011-04-19 Marc Khouzam <marc.khouzam@ericsson.com>
* thread.c (any_live_thread_of_process): Prioritize threads
that are not executing.
* gdbthread.h (any_live_thread_of_process): Update comment
as per above change.
Diffstat (limited to 'gdb/thread.c')
-rw-r--r-- | gdb/thread.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/thread.c b/gdb/thread.c index 6ad1807..5f07c83 100644 --- a/gdb/thread.c +++ b/gdb/thread.c @@ -470,18 +470,18 @@ struct thread_info * any_live_thread_of_process (int pid) { struct thread_info *tp; - struct thread_info *tp_running = NULL; + struct thread_info *tp_executing = NULL; for (tp = thread_list; tp; tp = tp->next) - if (ptid_get_pid (tp->ptid) == pid) + if (tp->state_ != THREAD_EXITED && ptid_get_pid (tp->ptid) == pid) { - if (tp->state_ == THREAD_STOPPED) + if (tp->executing_) + tp_executing = tp; + else return tp; - else if (tp->state_ == THREAD_RUNNING) - tp_running = tp; } - return tp_running; + return tp_executing; } /* Print a list of thread ids currently known, and the total number of |