projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[deliverable/binutils-gdb.git]
/
gdb
/
thread.c
diff --git
a/gdb/thread.c
b/gdb/thread.c
index 668fccafcb501794796da84b38c48e7be58e2714..fa5eb27b15c0e4780e0027fbb8a4d26d8f9e7fef 100644
(file)
--- a/
gdb/thread.c
+++ b/
gdb/thread.c
@@
-1,9
+1,9
@@
/* Multi-process/thread control for GDB, the GNU debugger.
/* Multi-process/thread control for GDB, the GNU debugger.
- Copyright 1986, 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001
- Free Software Foundation, Inc.
+
+ Copyright 1986, 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998,
+ 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+
Contributed by Lynx Real-Time Systems, Inc. Los Gatos, CA.
Contributed by Lynx Real-Time Systems, Inc. Los Gatos, CA.
-
This file is part of GDB.
This file is part of GDB.
@@
-34,13
+34,12
@@
#include "gdbcmd.h"
#include "regcache.h"
#include "gdb.h"
#include "gdbcmd.h"
#include "regcache.h"
#include "gdb.h"
+#include "gdb_string.h"
#include <ctype.h>
#include <sys/types.h>
#include <signal.h>
#include <ctype.h>
#include <sys/types.h>
#include <signal.h>
-#ifdef UI_OUT
#include "ui-out.h"
#include "ui-out.h"
-#endif
/*#include "lynxos-core.h" */
/*#include "lynxos-core.h" */
@@
-253,11
+252,12
@@
in_thread_list (ptid_t ptid)
return 0; /* Never heard of 'im */
}
return 0; /* Never heard of 'im */
}
-#ifdef UI_OUT
+
/* Print a list of thread ids currently known, and the total number of
threads. To be used from within catch_errors. */
static int
/* Print a list of thread ids currently known, and the total number of
threads. To be used from within catch_errors. */
static int
-do_captured_list_thread_ids (void *arg)
+do_captured_list_thread_ids (struct ui_out *uiout,
+ void *arg)
{
struct thread_info *tp;
int num = 0;
{
struct thread_info *tp;
int num = 0;
@@
-278,12
+278,11
@@
do_captured_list_thread_ids (void *arg)
/* Official gdblib interface function to get a list of thread ids and
the total number. */
enum gdb_rc
/* Official gdblib interface function to get a list of thread ids and
the total number. */
enum gdb_rc
-gdb_list_thread_ids (
/* output object */
)
+gdb_list_thread_ids (
struct ui_out *uiout
)
{
{
- return catch_e
rrors (
do_captured_list_thread_ids, NULL,
- NULL, RETURN_MASK_ALL);
+ return catch_e
xceptions (uiout,
do_captured_list_thread_ids, NULL,
+
NULL, RETURN_MASK_ALL);
}
}
-#endif
/* Load infrun state for the thread PID. */
/* Load infrun state for the thread PID. */
@@
-423,7
+422,7
@@
info_threads_command (char *arg, int from_tty)
struct thread_info *tp;
ptid_t current_ptid;
struct frame_info *cur_frame;
struct thread_info *tp;
ptid_t current_ptid;
struct frame_info *cur_frame;
- int saved_frame_level =
selected_frame_level
;
+ int saved_frame_level =
frame_relative_level (selected_frame)
;
int counter;
char *extra_info;
int counter;
char *extra_info;
@@
-478,7
+477,7
@@
info_threads_command (char *arg, int from_tty)
}
else
{
}
else
{
- select_frame (cur_frame
, saved_frame_level
);
+ select_frame (cur_frame);
}
/* re-show current frame. */
}
/* re-show current frame. */
@@
-497,7
+496,7
@@
switch_to_thread (ptid_t ptid)
flush_cached_frames ();
registers_changed ();
stop_pc = read_pc ();
flush_cached_frames ();
registers_changed ();
stop_pc = read_pc ();
- select_frame (get_current_frame ()
, 0
);
+ select_frame (get_current_frame ());
}
static void
}
static void
@@
-683,11
+682,12
@@
thread_command (char *tidstr, int from_tty)
return;
}
return;
}
- gdb_thread_select (tidstr);
+ gdb_thread_select (
uiout,
tidstr);
}
static int
}
static int
-do_captured_thread_select (void *tidstr)
+do_captured_thread_select (struct ui_out *uiout,
+ void *tidstr)
{
int num;
struct thread_info *tp;
{
int num;
struct thread_info *tp;
@@
-696,21
+696,14
@@
do_captured_thread_select (void *tidstr)
tp = find_thread_id (num);
tp = find_thread_id (num);
-#ifdef UI_OUT
if (!tp)
error ("Thread ID %d not known.", num);
if (!tp)
error ("Thread ID %d not known.", num);
-#else
- if (!tp)
- error ("Thread ID %d not known. Use the \"info threads\" command to\n\
-see the IDs of currently known threads.", num);
-#endif
if (!thread_alive (tp))
error ("Thread ID %d has terminated.\n", num);
switch_to_thread (tp->ptid);
if (!thread_alive (tp))
error ("Thread ID %d has terminated.\n", num);
switch_to_thread (tp->ptid);
-#ifdef UI_OUT
ui_out_text (uiout, "[Switching to thread ");
ui_out_field_int (uiout, "new-thread-id", pid_to_thread_id (inferior_ptid));
ui_out_text (uiout, " (");
ui_out_text (uiout, "[Switching to thread ");
ui_out_field_int (uiout, "new-thread-id", pid_to_thread_id (inferior_ptid));
ui_out_text (uiout, " (");
@@
-720,26
+713,17
@@
see the IDs of currently known threads.", num);
ui_out_text (uiout, target_pid_to_str (inferior_ptid));
#endif
ui_out_text (uiout, ")]");
ui_out_text (uiout, target_pid_to_str (inferior_ptid));
#endif
ui_out_text (uiout, ")]");
-#else /* UI_OUT */
- printf_filtered ("[Switching to thread %d (%s)]\n",
- pid_to_thread_id (inferior_ptid),
-#if defined(HPUXHPPA)
- target_tid_to_str (inferior_ptid)
-#else
- target_pid_to_str (inferior_ptid)
-#endif
- );
-#endif /* UI_OUT */
- print_stack_frame (selected_frame,
selected_frame_level
, 1);
+ print_stack_frame (selected_frame,
frame_relative_level (selected_frame)
, 1);
return GDB_RC_OK;
}
enum gdb_rc
return GDB_RC_OK;
}
enum gdb_rc
-gdb_thread_select (char *tidstr)
+gdb_thread_select (struct ui_out *uiout,
+ char *tidstr)
{
{
- return catch_e
rrors (
do_captured_thread_select, tidstr,
- NULL, RETURN_MASK_ALL);
+ return catch_e
xceptions (uiout,
do_captured_thread_select, tidstr,
+
NULL, RETURN_MASK_ALL);
}
/* Commands with a prefix of `thread'. */
}
/* Commands with a prefix of `thread'. */
This page took
0.025803 seconds
and
4
git commands to generate.