* remote-utils.c (remote_open): Check the type of specified

serial port devices before opening them.
	* server.c (main): Kill the inferior if an error occurs during
	the first remote_open.
This commit is contained in:
Daniel Jacobowitz 2006-12-30 15:44:51 +00:00
parent 03fa9f0e99
commit 8264bb58d6
3 changed files with 32 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2006-12-30 Denis PILAT <denis.pilat@st.com>
Daniel Jacobowitz <dan@codesourcery.com>
* remote-utils.c (remote_open): Check the type of specified
serial port devices before opening them.
* server.c (main): Kill the inferior if an error occurs during
the first remote_open.
2006-12-05 Markus Deuling <deuling@de.ibm.com>
* README: Update supported targets.

View File

@ -52,6 +52,8 @@
#if HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#include <sys/stat.h>
#include <errno.h>
#if USE_WIN32API
#include <winsock.h>
@ -94,13 +96,25 @@ remote_open (char *name)
#if defined(F_SETFL) && defined (FASYNC)
int save_fcntl_flags;
#endif
if (!strchr (name, ':'))
char *port_str;
port_str = strchr (name, ':');
if (port_str == NULL)
{
#ifdef USE_WIN32API
error ("Only <host>:<port> is supported on this platform.");
#else
remote_desc = open (name, O_RDWR);
struct stat statbuf;
if (stat (name, &statbuf) == 0
&& (S_ISCHR (statbuf.st_mode) || S_ISFIFO (statbuf.st_mode)))
remote_desc = open (name, O_RDWR);
else
{
errno = EINVAL;
remote_desc = -1;
}
if (remote_desc < 0)
perror_with_name ("Could not open remote device");

View File

@ -614,6 +614,13 @@ main (int argc, char *argv[])
}
}
if (setjmp (toplevel))
{
fprintf (stderr, "Killing inferior\n");
kill_inferior ();
exit (1);
}
while (1)
{
remote_open (argv[1]);