* gdbthread.h (any_running): Declare.
authorDoug Evans <dje@google.com>
Thu, 10 Jul 2014 18:15:32 +0000 (11:15 -0700)
committerDoug Evans <dje@google.com>
Thu, 10 Jul 2014 18:15:32 +0000 (11:15 -0700)
* thread.c (any_running): New function.

gdb/ChangeLog
gdb/gdbthread.h
gdb/thread.c

index 56f29095d619e592a80988e524616137468a6871..63cbdcb4a6954deb67bb82529db96bb2e1c451c6 100644 (file)
@@ -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
index 9ef74cdd686fc087dedef9104ede053a5180489d..ca529831aaa6a9462cd7c9ceac7d9871fc8167de 100644 (file)
@@ -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.
 
index e25d5639bd91a10658c9daa5848f98978bd34cad..532149ddc6354ea17c7f58b666ebc74b68e5ca5b 100644 (file)
@@ -647,6 +647,18 @@ is_running (ptid_t ptid)
   return is_thread_state (ptid, THREAD_RUNNING);
 }
 
+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)
 {