* remote-mips.c (mips_initialize): Clear mips_initializing via

cleanup chain, not directly.

	* ser-unix.c (wait_for) [HAVE_TERMIO, HAVE_TERMIOS]: Make a timeout
	of -1 mean forever, like in the HAVE_SGTTY case.  Warn if we are
	munging the timeout due to the limited range of c_cc[VTIME].
This commit is contained in:
Jim Kingdon
1994-01-22 19:16:02 +00:00
parent 08f74b9271
commit 864df7e6f3
3 changed files with 55 additions and 4 deletions

View File

@@ -888,6 +888,13 @@ mips_request (cmd, addr, data, perr, timeout)
return rresponse;
}
static void
mips_initialize_cleanups (arg)
PTR arg;
{
mips_initializing = 0;
}
/* Initialize a new connection to the MIPS board, and make sure we are
really connected. */
@@ -897,9 +904,16 @@ mips_initialize ()
char cr;
char buff[DATA_MAXLEN + 1];
int err;
struct cleanup *old_cleanups = make_cleanup (mips_initialize_cleanups, NULL);
/* What is this code doing here? I don't see any way it can happen, and
it might mean mips_initializing didn't get cleared properly.
So I'll make it a warning. */
if (mips_initializing)
return;
{
warning ("internal error: mips_initialize called twice");
return;
}
mips_initializing = 1;
@@ -929,7 +943,7 @@ mips_initialize ()
}
mips_receive_packet (buff, 1, 3);
mips_initializing = 0;
do_cleanups (old_cleanups);
/* If this doesn't call error, we have connected; we don't care if
the request itself succeeds or fails. */