*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / gdbthread.h
index 8fe82c3056f1d3abdf6b3ba38f367bcbf0db8f6f..ddb7b0f66cd1d96933081ccac9fd420aa5cecc74 100644 (file)
@@ -1,6 +1,6 @@
 /* Multi-process/thread control defs for GDB, the GNU debugger.
    Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1997, 1998, 1999,
-   2000, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   2000, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
    Contributed by Lynx Real-Time Systems, Inc.  Los Gatos, CA.
    
 
@@ -37,6 +37,12 @@ struct thread_control_state
 {
   /* User/external stepping state.  */
 
+  /* Step-resume or longjmp-resume breakpoint.  */
+  struct breakpoint *step_resume_breakpoint;
+
+  /* Exception-resume breakpoint.  */
+  struct breakpoint *exception_resume_breakpoint;
+
   /* Range to single step within.
 
      If this is nonzero, respond to a single-step signal by continuing
@@ -46,7 +52,7 @@ struct thread_control_state
      step for a single instruction (FIXME: it might clean up
      wait_for_inferior in a minor way if this were changed to the
      address of the instruction and that address plus one.  But maybe
-     not.).  */
+     not).  */
   CORE_ADDR step_range_start;  /* Inclusive */
   CORE_ADDR step_range_end;    /* Exclusive */
 
@@ -119,6 +125,10 @@ struct thread_info
                                    kernel thread id, etc.  */
   int num;                     /* Convenient handle (GDB thread id) */
 
+  /* The name of the thread, as specified by the user.  This is NULL
+     if the thread does not have a user-given name.  */
+  char *name;
+
   /* 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
@@ -151,11 +161,6 @@ struct thread_info
      call.  See `struct thread_suspend_state'.  */
   struct thread_suspend_state suspend;
 
-  /* User/external stepping state.  */
-
-  /* Step-resume or longjmp-resume breakpoint.  */
-  struct breakpoint *step_resume_breakpoint;
-
   int current_line;
   struct symtab *current_symtab;
 
@@ -209,6 +214,10 @@ struct thread_info
   /* True if this thread has been explicitly requested to stop.  */
   int stop_requested;
 
+  /* The initiating frame of a nexting operation, used for deciding
+     which exceptions to intercept.  */
+  struct frame_id initiating_frame;
+
   /* Private data used by the target vector implementation.  */
   struct private_thread_info *private;
 
@@ -242,9 +251,12 @@ extern void delete_thread (ptid_t);
    exited, for example.  */
 extern void delete_thread_silent (ptid_t);
 
-/* Delete a step_resume_breakpoint from the thread database. */
+/* Delete a step_resume_breakpoint from the thread database.  */
 extern void delete_step_resume_breakpoint (struct thread_info *);
 
+/* Delete an exception_resume_breakpoint from the thread database.  */
+extern void delete_exception_resume_breakpoint (struct thread_info *);
+
 /* Translate the integer thread id (GDB's homegrown id, not the system's)
    into a "pid" (which may be overloaded with extra thread information).  */
 extern ptid_t thread_id_to_pid (int);
This page took 0.024432 seconds and 4 git commands to generate.