* configure: Regenerate with proper autoconf 2.13.
[deliverable/binutils-gdb.git] / gdb / rdi-share / unixcomm.c
index 708387bb0410477ba930eaba4678737693569a07..2204d6d59fda45dfa8d15feb9efb28c079d5e11b 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__
 #define PARPORT2   "/dev/par1"
 #endif
 
-#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (bsdi)
+#if defined(_WIN32) || defined (__CYGWIN__) 
+#define SERIAL_PREFIX "com"
+#define SERPORT1   "com1"
+#define SERPORT2   "com2"
+#define PARPORT1   "lpt1"
+#define PARPORT2   "lpt2"
+#endif
+
+#if !defined (SERIAL_PREFIX)
 #define SERIAL_PREFIX "/dev/cuaa"
 #define SERPORT1   "/dev/cuaa0"
 #define SERPORT2   "/dev/cuaa1"
 #endif
 
 
-#if defined(_WIN32) || defined (__CYGWIN32__) 
-#define SERIAL_PREFIX "com"
-#define SERPORT1   "com1"
-#define SERPORT2   "com2"
-#define PARPORT1   "lpt1"
-#define PARPORT2   "lpt2"
-#endif
-
 
 
 /*
@@ -243,7 +248,7 @@ extern int Unix_IsSerialInUse(void)
 
 extern int Unix_OpenSerial(const char *name)
 {
-#if defined(BSD) || defined(__CYGWIN32__)
+#if defined(BSD) || defined(__CYGWIN__)
     serpfd = open(name, O_RDWR);
 #else
     serpfd = open(name, O_RDWR | O_NONBLOCK);
@@ -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;
 }
This page took 0.024648 seconds and 4 git commands to generate.