* remote.c (getpkt): If we get a timeout, actually retry rather

than just giving up the first time it happens.
	* remote.c: Document sequence numbers.
	(remote_store_registers): Change syntax of 'P' request so that it
	never looks like a sequence number.
This commit is contained in:
Jim Kingdon
1994-03-30 03:50:23 +00:00
parent ee65efa82e
commit 0c9935502f
2 changed files with 16 additions and 7 deletions

View File

@@ -25,7 +25,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
$ <data> # CSUM1 CSUM2
<data> must be ASCII alphanumeric and cannot include characters
'$' or '#'
'$' or '#'. If <data> starts with two characters followed by
':', then the existing stubs interpret this as a sequence number.
CSUM1 and CSUM2 are ascii hex representation of an 8-bit
checksum of <data>, the most significant nibble is sent first.
@@ -54,7 +55,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
reply OK for success
ENN for an error
write reg Pn...:r... Write register n... with value r...,
write reg Pn...=r... Write register n... with value r...,
which contains two hex digits for each
byte in the register (target byte
order).
@@ -712,7 +713,7 @@ remote_store_registers (regno)
/* Try storing a single register. */
char *regp;
sprintf (buf, "P%x:", regno);
sprintf (buf, "P%x=", regno);
p = buf + strlen (buf);
regp = &registers[REGISTER_BYTE (regno)];
for (i = 0; i < REGISTER_RAW_SIZE (regno); ++i)
@@ -1186,9 +1187,9 @@ getpkt (retbuf, forever)
{
if (forever)
continue;
if (++retries >= MAX_RETRIES)
if (remote_debug) puts_filtered ("Timed out.\n");
goto out;
if (remote_debug)
puts_filtered ("Timed out.\n");
goto whole;
}
if (c == SERIAL_EOF)