tcsetattr vs pty's

Rich Felker dalias at libc.org
Wed Jul 9 04:08:34 UTC 2014


On Tue, Jul 08, 2014 at 10:19:07AM +0200, Malte Forkel wrote:
> Hi,
> 
> I ran into a problem with uClibc's implementation of tcsetattr when
> porting an application from Debian (glibc 2.13) to OpenWrt (uClibc
> 0.9.33.2) [1]. tcsetattr [2] tries to check whether all attributes have
> been set successfully. That check failed in my case for a USB device and
> I ended up ignoring the error reported by uClibc.
> 
> This topic has been discussed recently for Fedora [3], with Linus
> Torvalds strongly opposing the approach take by its C library.
> 
> The implementation in uClibc has been the same for years [4]. So I'm not
> necessarily suggesting to change it. But I'd like to bring this issue to
> your attention.

It should just be fixed. The Fedora behavior is idiotic and
non-conforming. Per POSIX:

"The tcsetattr() function shall return successfully if it was able to
perform any of the requested actions, even if some of the requested
actions could not be performed"

Source:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/tcsetattr.html

Rich


More information about the uClibc mailing list