* 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:
parent
03fa9f0e99
commit
8264bb58d6
3 changed files with 32 additions and 3 deletions
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
char *port_str;
|
||||
|
||||
if (!strchr (name, ':'))
|
||||
port_str = strchr (name, ':');
|
||||
if (port_str == NULL)
|
||||
{
|
||||
#ifdef USE_WIN32API
|
||||
error ("Only <host>:<port> is supported on this platform.");
|
||||
#else
|
||||
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");
|
||||
|
||||
|
|
|
@ -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]);
|
||||
|
|
Loading…
Add table
Reference in a new issue