A termios path

H.J. Lu hjl@lucon.org
Mon Dec 7 14:35:00 GMT 1998


> 
> 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.



More information about the Libc-hacker mailing list