* remote.c (remote_start_remote_dummy): Add uiout parameter.

(remote_start_remote): Add uiout parameter.  Pass through to
remote_start_remote_dummy.
(remote_open_1): Use catch_exception instead of catch_errors.
(remote_async_open_1): Ditto.
(remote_cisco_open): Ditto.
This commit is contained in:
Andrew Cagney 2002-05-19 18:32:10 +00:00
parent ae44c0c47d
commit 36918e70e5
2 changed files with 53 additions and 21 deletions

View File

@ -1,3 +1,12 @@
2002-05-19 Andrew Cagney <ac131313@redhat.com>
* remote.c (remote_start_remote_dummy): Add uiout parameter.
(remote_start_remote): Add uiout parameter. Pass through to
remote_start_remote_dummy.
(remote_open_1): Use catch_exception instead of catch_errors.
(remote_async_open_1): Ditto.
(remote_cisco_open): Ditto.
2002-05-19 Andrew Cagney <ac131313@redhat.com>
* remote.c (remote_start_remote): Replace PTR with void pointer.

View File

@ -86,7 +86,7 @@ static void remote_resume (ptid_t ptid, int step,
enum target_signal siggnal);
static void remote_async_resume (ptid_t ptid, int step,
enum target_signal siggnal);
static int remote_start_remote (void *);
static int remote_start_remote (struct ui_out *uiout, void *dummy);
static void remote_open (char *name, int from_tty);
static void remote_async_open (char *name, int from_tty);
@ -2107,14 +2107,16 @@ remote_cisco_objfile_relocate (bfd_signed_vma text_off, bfd_signed_vma data_off,
/* Stub for catch_errors. */
static int
remote_start_remote_dummy (void *dummy)
remote_start_remote_dummy (struct ui_out *uiout, void *dummy)
{
start_remote (); /* Initialize gdb process mechanisms */
/* NOTE: Return something >=0. A -ve value is reserved for
catch_exceptions. */
return 1;
}
static int
remote_start_remote (void *dummy)
remote_start_remote (struct ui_out *uiout, void *dummy)
{
immediate_quit++; /* Allow user to interrupt it */
@ -2131,7 +2133,9 @@ remote_start_remote (void *dummy)
putpkt ("?"); /* initiate a query from remote machine */
immediate_quit--;
return remote_start_remote_dummy (dummy);
/* NOTE: See comment above in remote_start_remote_dummy(). This
function returns something >=0. */
return remote_start_remote_dummy (uiout, dummy);
}
/* Open a connection to a remote debugger.
@ -2246,6 +2250,7 @@ static void
remote_open_1 (char *name, int from_tty, struct target_ops *target,
int extended_p)
{
int ex;
struct remote_state *rs = get_remote_state ();
if (name == 0)
error ("To open a remote debug connection, you need to specify what\n"
@ -2308,12 +2313,23 @@ remote_open_1 (char *name, int from_tty, struct target_ops *target,
no_shared_libraries (NULL, 0);
#endif
/* Start the remote connection; if error (0), discard this target.
In particular, if the user quits, be sure to discard it
(we'd be in an inconsistent state otherwise). */
if (!catch_errors (remote_start_remote, NULL,
"Couldn't establish connection to remote target\n",
RETURN_MASK_ALL))
/* Start the remote connection. If error() or QUIT, discard this
target (we'd otherwise be in an inconsistent state).
FIXME: cagney/2002-05-19: Instead of re-throwing the exception,
this function should return an error indication letting the
caller restore the previous state. Unfortunatly the command
``target remote'' is directly wired to this function making that
impossible. On a positive note, the CLI side of this problem has
been fixed - the function set_cmd_context() makes it possible for
all the ``target ....'' commands to share a common callback
function. See cli-dump.c. */
ex = catch_exceptions (uiout,
remote_start_remote, NULL,
"Couldn't establish connection to remote"
" target\n",
RETURN_MASK_ALL);
if (ex < 0)
{
pop_target ();
return;
@ -2347,6 +2363,7 @@ static void
remote_async_open_1 (char *name, int from_tty, struct target_ops *target,
int extended_p)
{
int ex;
struct remote_state *rs = get_remote_state ();
if (name == 0)
error ("To open a remote debug connection, you need to specify what\n"
@ -2419,12 +2436,14 @@ remote_async_open_1 (char *name, int from_tty, struct target_ops *target,
no_shared_libraries (NULL, 0);
#endif
/* Start the remote connection; if error (0), discard this target.
In particular, if the user quits, be sure to discard it
(we'd be in an inconsistent state otherwise). */
if (!catch_errors (remote_start_remote, NULL,
"Couldn't establish connection to remote target\n",
RETURN_MASK_ALL))
/* Start the remote connection; if error, discard this target. See
the comments in remote_open_1() for further details. */
ex = catch_exceptions (uiout,
remote_start_remote, NULL,
"Couldn't establish connection to remote"
" target\n",
RETURN_MASK_ALL);
if (ex < 0)
{
pop_target ();
wait_forever_enabled_p = 1;
@ -5472,6 +5491,7 @@ remote_info_process (char *args, int from_tty)
static void
remote_cisco_open (char *name, int from_tty)
{
int ex;
if (name == 0)
error ("To open a remote debug connection, you need to specify what \n"
"device is attached to the remote system (e.g. host:port).");
@ -5534,11 +5554,14 @@ remote_cisco_open (char *name, int from_tty)
someday have a notion of debugging several processes. */
inferior_ptid = pid_to_ptid (MAGIC_NULL_PID);
/* Start the remote connection; if error (0), discard this target. */
if (!catch_errors (remote_start_remote_dummy, (char *) 0,
"Couldn't establish connection to remote target\n",
RETURN_MASK_ALL))
/* Start the remote connection; if error, discard this target. See
the comments in remote_open_1() for further details. */
ex = catch_exceptions (uiout,
remote_start_remote_dummy, NULL,
"Couldn't establish connection to remote"
" target\n",
RETURN_MASK_ALL);
if (ex < 0)
{
pop_target ();
return;