2014-07-12 Doug Evans * gdbthread.h (any_running): Declare. * thread.c (any_running): New function. 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;