This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A termios path


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]