[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#218131: 3 glibc LSB RC bugs filed



On Mon, 2003-11-03 at 11:49, Daniel Jacobowitz wrote:
> Red Hat already has a local patch for this, by the way.  I can not tell
> offhand if they are equivalent - they're structured very differently. 
> I recommend you grab the Rawhide glibc SRPM from a Red Hat mirror, and
> take a look at glibc-redhat.patch.

There may be value in the Red Hat patch (in particular, the check for
TCSETS).  In the main, however, the patch is still incorrect.

POSIX tcsetattr needs to handle three conditions correctly:

 - If all changes are successful, return success (0).
 - If some changes are successful and some aren't, return success.
 - If no changes are successful, return error (-1, errno=EINVAL).

The problem occurs when setting certain flags (PARENB, CREAD, or one of
the CSIZE parameters) on a pty.  The kernel silently ignores those
settings, so libc is responsible for doing the right thing.

Ancient glibc, pristine upstream glibc from February on, and Debian
sarge/sid glibc fail the third condition in this case.  2.2 versions of
glibc, woody glibc, 2.3 glibc up to February, and RawHide glibc fail the
second condition.  My patch, so far as I can tell, covers all three
conditions.

Note that as far as the LSB is concerned, failing the second condition
does not result in test failures, but it has been known to create
problems with applications.  Application problems were what prompted
Ulrich Drepper to drop the patch.

The problems with setlocale seem utterly unrelated.  Given the lack of
feedback on that issue, I think I'm going to rebuild my sarge test box
and try to reproduce the exact conditions which trigger it.




Reply to: