This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/RFC] Prec multi-thread support [3/4] thread.c


This one's OK.  In fact, congratulations for keeping this part
of your change so neat and concise!   ;-)

Hui Zhu wrote:
1. Move thread_state to gdbthread.h because record target need get the
status of each thread.  Sometime, GDB will not remove the thread entry
when it exit.
2. record_is_waiting is to flag that mean this thread is still
running.  I will introduce in next mail.

2009-11-25 Hui Zhu <teawater@gmail.com>

	gdbthread.h (thread_state): New enum.
	(thread_info): Add record_is_waiting.
	thread.c (thread_state): Deleted.

---
 gdbthread.h |   11 +++++++++++
 thread.c    |    9 ---------
 2 files changed, 11 insertions(+), 9 deletions(-)

--- a/gdbthread.h
+++ b/gdbthread.h
@@ -29,6 +29,15 @@ struct symtab;
 #include "ui-out.h"
 #include "inferior.h"

+/* Frontend view of the thread state.  Possible extensions: stepping,
+   finishing, until(ling),...  */
+enum thread_state
+{
+  THREAD_STOPPED,
+  THREAD_RUNNING,
+  THREAD_EXITED,
+};
+
 struct thread_info
 {
   struct thread_info *next;
@@ -37,6 +46,8 @@ struct thread_info
 				    kernel thread id, etc.  */
   int num;			/* Convenient handle (GDB thread id) */

+  int record_is_waiting;
+
   /* Non-zero means the thread is executing.  Note: this is different
      from saying that there is an active target and we are stopped at
      a breakpoint, for instance.  This is a real indicator whether the
--- a/thread.c
+++ b/thread.c
@@ -63,15 +63,6 @@ static void thread_apply_command (char *
 static void restore_current_thread (ptid_t);
 static void prune_threads (void);

-/* Frontend view of the thread state.  Possible extensions: stepping,
-   finishing, until(ling),...  */
-enum thread_state
-{
-  THREAD_STOPPED,
-  THREAD_RUNNING,
-  THREAD_EXITED,
-};
-
 struct thread_info*
 inferior_thread (void)
 {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]