Only used old_fcntl_owner when compiling unixoid event loop
authorNelson Ferreira <nelson.ferreira@ieee.org>
Thu, 22 Mar 2012 01:58:00 +0000 (22:58 -0300)
committerNelson Ferreira <nelson.ferreira@ieee.org>
Thu, 22 Mar 2012 01:58:00 +0000 (22:58 -0300)
Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
src/sysdep.c

index 3c923c6..53f9068 100644 (file)
@@ -806,14 +806,14 @@ void setup_pty(int fd)
 
 void init_baud_rate(struct device *d)
 {
-       struct console *con = XCONSOLE(DEVICE_CONSOLE(d));
        if (DEVICE_WIN_P(d) || DEVICE_STREAM_P(d)) {
                DEVICE_BAUD_RATE(d) = 38400;
                return;
-       }
+       } 
 #ifdef HAVE_TTY
        assert(DEVICE_TTY_P(d));
        {
+               struct console *con = XCONSOLE(DEVICE_CONSOLE(d));
                int input_fd = CONSOLE_TTY_DATA(con)->infd;
 #if defined (HAVE_TERMIOS)
                struct termios sg;
@@ -871,20 +871,26 @@ static void init_sigio_on_device(struct device *d)
                int owner = getpid();
                int ioctl_status;
                if (DEVICE_TTY_P(d)) {
+#ifdef HAVE_UNIXOID_EVENT_LOOP
                        ioctl_status = ioctl(filedesc, FIOGSAIOOWN,
                                             &DEVICE_OLD_FCNTL_OWNER(d));
+#endif
                        ioctl_status = ioctl(filedesc, FIOSSAIOOWN, &owner);
                }
 #ifdef HAVE_WINDOW_SYSTEM
                else if (!DEVICE_STREAM_P(d)) {
+#ifdef HAVE_UNIXOID_EVENT_LOOP
                        ioctl_status = ioctl(filedesc, SIOCGPGRP,
                                             &DEVICE_OLD_FCNTL_OWNER(d));
+#endif
                        ioctl_status = ioctl(filedesc, SIOCSPGRP, &owner);
                }
 #endif
        }
 #elif defined (F_SETOWN) && !defined (F_SETOWN_BUG)
+#  ifdef HAVE_UNIXOID_EVENT_LOOP
        DEVICE_OLD_FCNTL_OWNER(d) = fcntl(filedesc, F_GETOWN, 0);
+#  endif
 # ifdef F_SETOWN_SOCK_NEG
        /* stdin is a socket here */
        fcntl(filedesc, F_SETOWN, -getpid());
@@ -902,18 +908,24 @@ static void reset_sigio_on_device(struct device *d)
        {                       /* HPUX stuff */
                int ioctl_status;
                if (DEVICE_TTY_P(d)) {
+#  ifdef HAVE_UNIXOID_EVENT_LOOP
                        ioctl_status = ioctl(filedesc, FIOSSAIOOWN,
                                             &DEVICE_OLD_FCNTL_OWNER(d));
+#  endif
                }
 #ifdef HAVE_WINDOW_SYSTEM
                else if (!DEVICE_STREAM_P(d)) {
+#  ifdef HAVE_UNIXOID_EVENT_LOOP
                        ioctl_status = ioctl(filedesc, SIOCSPGRP,
                                             &DEVICE_OLD_FCNTL_OWNER(d));
+#  endif
                }
 #endif
        }
 #elif defined (F_SETOWN) && !defined (F_SETOWN_BUG)
+#  ifdef HAVE_UNIXOID_EVENT_LOOP
        fcntl(filedesc, F_SETOWN, DEVICE_OLD_FCNTL_OWNER(d));
+#  endif
 #endif
 }