This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Use "|" instead of "+" when combine the _IO_LINE_BUF and _IO_UNBUFFERED flags
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Siddhesh Poyarekar <siddhesh dot poyarekar at gmail dot com>
- Cc: Feng Gao <gfree dot wind at gmail dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 08 Jul 2015 10:27:19 -0400
- Subject: Re: [PATCH] Use "|" instead of "+" when combine the _IO_LINE_BUF and _IO_UNBUFFERED flags
- Authentication-results: sourceware.org; auth=none
- References: <CA+6hz4qE5L-6LQEvVawdKtXXrqpP-c-VO1SmGtamRJUoRWYLRQ at mail dot gmail dot com> <20150707073145 dot GK13549 at spoyarek dot pnq dot redhat dot com> <CA+6hz4r4FjfTN5+AfM=x7_2xCC-3_FMeniMHdYNufBRrd4g8Lg at mail dot gmail dot com> <20150707162858 dot GR13549 at spoyarek dot pnq dot redhat dot com> <CA+6hz4omaZ2wjwCS1cKOXs27=p0oijUjtP9-8PVbyuDimQDtow at mail dot gmail dot com> <559CE58A dot 90706 at redhat dot com> <CAAHN_R3ZP7CsEEx-2AzDVO3Qh4eHsk+CwBE0E8=w5WRWqU2-zg at mail dot gmail dot com> <559D1BC3 dot 1060703 at redhat dot com> <CAAHN_R24tHX2Cu_vDZ+LtMmjAzjUdFAn0cDV8k2SsbfJksOLuA at mail dot gmail dot com>
On 07/08/2015 09:09 AM, Siddhesh Poyarekar wrote:
> On 8 July 2015 at 18:16, Carlos O'Donell <carlos@redhat.com> wrote:
>> It's not a hack. The script reads from stdin for the list of *.d
>> files that were created by the build, but if there are no *.d files
>> the shell expansion is empty and that forces the script to read from
>> the parent's inherited stdin. Since the parent never writes anything
>> to stdin the awk script blocks on the read forever. As Andreas notes
>> it should dep on the *.d files existing, and that is true. However,
>> even if that were fixed we should still read from /dev/null and
>> fail the test even if all the *.d files were deleted between the
>> time they were created and the script ran (robust).
>
> Right, I misread what that target was doing. In any case, the right
> fix here would be to make the check-local-headers target depend on *.d
> (one of them I guess?) in a way that they're always generated before
> the script is run.
I agree that `make check` should effectively run `make` if the
dependencies are not yet met, but we aren't there yet, and I see
a whole host of other failures to fix. It's also not obvious to me how
I would depend on *all* *.d files in that makefile target, it doesn't seem
trivial to compute them. The fix to read from /dev/null seems like
the lowest cost immediate solution that yields a `make check` failure
rather than a hang (which is terrible for automated test systems also).
If nobody objects I'll check it in now to p
Cheers,
Carlos.