diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/remote-rdi.c | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5279d9f..3712db9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Tue Sep 15 14:02:01 1998 Nick Clifton <nickc@cygnus.com> + + * remote-rdi.c: Prevent multiple attempts to close the remote + connection. + Tue Sep 15 10:24:17 1998 Andrew Cagney <cagney@b1.cygnus.com> * printcmd.c (examine_i_type): New static - type for instructions. diff --git a/gdb/remote-rdi.c b/gdb/remote-rdi.c index 2911904..6bfcb8b 100644 --- a/gdb/remote-rdi.c +++ b/gdb/remote-rdi.c @@ -181,6 +181,9 @@ mygets (arg, buffer, len) return fgets(buffer, len, stdin); } +/* Prevent multiple calls to angel_RDI_close(). */ +static int closed_already = 1; + /* Open a connection to a remote debugger. NAME is the filename used for communication. */ @@ -318,6 +321,8 @@ device is attached to the remote system (e.g. /dev/ttya)."); } printf_filtered ("Connected to ARM RDI target.\n"); + + closed_already = 0; } /* Start an inferior process and set inferior_pid to its pid. @@ -414,10 +419,14 @@ arm_rdi_close (quitting) { int rslt; - rslt = angel_RDI_close (); - if (rslt) + if (! closed_already) { - printf_filtered ("RDI_close: %s\n", rdi_error_message (rslt)); + rslt = angel_RDI_close (); + if (rslt) + { + printf_filtered ("RDI_close: %s\n", rdi_error_message (rslt)); + } + closed_already = 1; } } |