2000-02-25 Fernando Nasser <fnasser@cygnus.com>
authorFernando Nasser <fnasser@redhat.com>
Fri, 25 Feb 2000 16:37:32 +0000 (16:37 +0000)
committerFernando Nasser <fnasser@redhat.com>
Fri, 25 Feb 2000 16:37:32 +0000 (16:37 +0000)
        From: Thomas Zenker <thz@Lennartz-electronic.DE>
        * rdi-share/hsys.c: to compile under 4.4BSD derived systems (FreeBSD,
        NetBSD...) sys_errlist should not be declared in hsys.c.
        NEED_SYSERRLIST is set already by configure, so we can use it.
        * rdi-share/unixcomm.c: 4.4BSD derived systems define BSD, but are
        posix compliant and we should not work with the old compatibility
        stuff.  Because of that I undef BSD in case of FBSD etc and include
        sys/ioctl to get the flags.
        * rdi-share/unixcomm.c: If the TIOCEXCL flags exists set serial line
        for exclusive use.

gdb/ChangeLog
gdb/rdi-share/hsys.c
gdb/rdi-share/unixcomm.c

index 59dd921e6e8cf8cc8cd9c6cbb17aefe50b064de0..ab7d54418c0d949296388e208f2f5e7651ebc5e8 100644 (file)
@@ -1,3 +1,16 @@
+2000-02-25  Fernando Nasser  <fnasser@cygnus.com>
+
+       From: Thomas Zenker <thz@Lennartz-electronic.DE>
+       * rdi-share/hsys.c: to compile under 4.4BSD derived systems (FreeBSD,
+       NetBSD...) sys_errlist should not be declared in hsys.c.
+       NEED_SYSERRLIST is set already by configure, so we can use it.
+       * rdi-share/unixcomm.c: 4.4BSD derived systems define BSD, but are
+       posix compliant and we should not work with the old compatibility
+       stuff.  Because of that I undef BSD in case of FBSD etc and include
+       sys/ioctl to get the flags.
+       * rdi-share/unixcomm.c: If the TIOCEXCL flags exists set serial line
+       for exclusive use.
+
 2000-02-24  Kevin Buettner  <kevinb@redhat.com>
 
        * ppc-linux-tdep.c (ppc_sysv_abi_push_arguments): Put address
index 39137566247ef3c9b66b16a148eb36fb36a03489..1d47a85fe46065be36896883b04980e042dbcd34 100644 (file)
@@ -125,8 +125,10 @@ static void DebugCheckNullTermString(char *prefix, bool nl,
     }
 }
 
+#ifdef NEED_SYSERRLIST
 extern int sys_nerr;
 extern char *sys_errlist[];
+#endif
 
 static char *DebugStrError(int last_errno)
 {
index 708387bb0410477ba930eaba4678737693569a07..6891c0d84e205660d1861f903cf24f0af4967fea 100644 (file)
 #include <sys/types.h>
 #include <sys/time.h>
 
+#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (bsdi)
+#undef BSD
+#include <sys/ioctl.h>
+#endif
+
 #ifdef sun
 # include <sys/ioccom.h>
 # ifdef __svr4__
@@ -253,6 +258,13 @@ extern int Unix_OpenSerial(const char *name)
         perror("open");
         return -1;
     }
+#ifdef TIOCEXCL
+    if (ioctl(serpfd, TIOCEXCL) < 0) {
+       close(serpfd);
+        perror("ioctl: TIOCEXCL");
+        return -1;
+    }
+#endif
 
     return 0;
 }