aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2014-07-10 11:15:32 -0700
committerDoug Evans <dje@google.com>2014-07-10 11:15:32 -0700
commit1a76d598884a052dacd8feb49f1999e1a0d537f1 (patch)
treefc4e0537aea404328a0a3648bd6a3cce2b2ba8df
parente7d17e71cdc10a2e81e454ce3b9637f1b2a587f2 (diff)
downloadgdb-1a76d598884a052dacd8feb49f1999e1a0d537f1.zip
gdb-1a76d598884a052dacd8feb49f1999e1a0d537f1.tar.gz
gdb-1a76d598884a052dacd8feb49f1999e1a0d537f1.tar.bz2
* gdbthread.h (any_running): Declare.
* thread.c (any_running): New function.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/gdbthread.h3
-rw-r--r--gdb/thread.c12
3 files changed, 20 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 56f2909..63cbdcb 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2014-07-10 Doug Evans <dje@google.com>
+
+ * gdbthread.h (any_running): Declare.
+ * thread.c (any_running): New function.
+
2014-07-09 Pedro Alves <palves@redhat.com>
* infcmd.c (attach_command_post_wait): Don't call
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h
index 9ef74cd..ca52983 100644
--- a/gdb/gdbthread.h
+++ b/gdb/gdbthread.h
@@ -363,6 +363,9 @@ extern int is_exited (ptid_t ptid);
/* In the frontend's perpective, is this thread stopped? */
extern int is_stopped (ptid_t ptid);
+/* In the frontend's perpective is there any thread running? */
+extern int any_running (void);
+
/* Marks thread PTID as executing, or not. If ptid_get_pid (PTID) is -1,
marks all threads.
diff --git a/gdb/thread.c b/gdb/thread.c
index e25d563..532149d 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -648,6 +648,18 @@ is_running (ptid_t ptid)
}
int
+any_running (void)
+{
+ struct thread_info *tp;
+
+ for (tp = thread_list; tp; tp = tp->next)
+ if (tp->state == THREAD_RUNNING)
+ return 1;
+
+ return 0;
+}
+
+int
is_executing (ptid_t ptid)
{
struct thread_info *tp;