Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 21 Feb 2003 00:12:29 +0000 (00:12 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 21 Feb 2003 00:12:29 +0000 (00:12 +0000)
2003-02-20  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Remove obsolete
patch to check for system call errors.

ChangeLog
sysdeps/unix/sysv/linux/tcsetattr.c

index 8355708..6ae0129 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-20  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Remove obsolete
+       patch to check for system call errors.
+
 2002-07-24  Philip Blundell  <philb@gnu.org>
 
        * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Yield ENODEV
index a5eab4d..0b01894 100644 (file)
@@ -56,7 +56,6 @@ tcsetattr (fd, optional_actions, termios_p)
 {
   struct __kernel_termios k_termios;
   unsigned long int cmd;
-  int retval;
 
   switch (optional_actions)
     {
@@ -88,35 +87,6 @@ tcsetattr (fd, optional_actions, termios_p)
   memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
          __KERNEL_NCCS * sizeof (cc_t));
 
-  retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
-
-  if (retval == 0 && cmd == TCSETS)
-    {
-      /* The Linux kernel has a bug which silently ignore the invalid
-        c_cflag on pty. We have to check it here. */
-      int save = errno;
-      retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
-      if (retval)
-       {
-         /* We cannot verify if the setting is ok. We don't return
-            an error (?). */
-         __set_errno (save);
-         retval = 0;
-       }
-      else if ((termios_p->c_cflag & (PARENB | CREAD))
-              != (k_termios.c_cflag & (PARENB | CREAD))
-              || ((termios_p->c_cflag & CSIZE)
-                  && ((termios_p->c_cflag & CSIZE)
-                      != (k_termios.c_cflag & CSIZE))))
-       {
-         /* It looks like the Linux kernel silently changed the
-            PARENB/CREAD/CSIZE bits in c_cflag. Report it as an
-            error. */
-         __set_errno (EINVAL);
-         retval = -1;
-       }
-    }
-
-  return retval;
+  return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
 }
 libc_hidden_def (tcsetattr)