This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Re: A termios path
- To: drepper@cygnus.com
- Subject: Re: A termios path
- From: hjl@lucon.org (H.J. Lu)
- Date: Mon, 7 Dec 1998 14:35:40 -0800 (PST)
- Cc: libc-hacker@cygnus.com, linux-kernel@vger.rutgers.edu
>
> hjl@lucon.org (H.J. Lu) writes:
>
> > This patch for glibc 2.1 works around a Linux kernel bug, which I don't
> > see any easy fix. Also
> >
> > cfsetispeed (termios_p, (speed_t) 0)
>
> I see this is a problem but the whole implementation in the kernel is
> not suitable as it seems. We can't independently set the input and
> output speed therefore it does not make sense to remember setting the
> input speed to zero means setting it to the same value as the output
> speed.
>
> I think the solution which makes most sense is to change the
> cfsetispeed implementation to do nothing if the parameter is zero.
> Nothing more. This should solve the problem since it effectively
> means the input speed is the output speed.
>
> Can you try the test suite with this change?
>
That was my first approach. It doesn't work with
cfsetispeed (termios_p, (speed_t) 0);
if ((speed_t) 0 == cfgetispeed (termios_p))
...
"zero means setting it to the same value as the output speed" only
apply when tcsetattr is called.
H.J.