diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5279d9f06d..3712db95ad 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Tue Sep 15 14:02:01 1998 Nick Clifton + + * remote-rdi.c: Prevent multiple attempts to close the remote + connection. + Tue Sep 15 10:24:17 1998 Andrew Cagney * printcmd.c (examine_i_type): New static - type for instructions. diff --git a/gdb/remote-rdi.c b/gdb/remote-rdi.c index 29119048c9..6bfcb8bed5 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; } }