This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Disable single thread optimization for open_memstream
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: Carlos O'Donell <carlos at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Cc: nd at arm dot com, Florian Weimer <fweimer at redhat dot com>, Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- Date: Wed, 12 Jul 2017 15:20:43 +0100
- Subject: Re: [PATCH] Disable single thread optimization for open_memstream
- Authentication-results: sourceware.org; auth=none
- Authentication-results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com;
- Nodisclaimer: True
- References: <59662DA4.1000702@arm.com> <a0415466-040c-52e1-bbe8-526d16e417a1@redhat.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 12/07/17 15:15, Carlos O'Donell wrote:
> On 07/12/2017 10:09 AM, Szabolcs Nagy wrote:
>> Single thread optimization is valid if at thread creation time the
>> optimization can be disabled. This is in principle true for all
>> stream objects that user code can access (and thus needs locking),
>> using the same internal list as fflush(0) uses. However in glibc
>> open_memstream is not on that list (BZ 21735) so the optimization
>> has to be disabled.
>>
>> 2017-07-12 Szabolcs Nagy <szabolcs.nagy@arm.com>
>>
>> * libio/memstream.c (__open_memstream): Set _IO_FLAGS2_NEED_LOCK.
>> * libio/wmemstream.c (open_wmemstream): Likewise.
>>
>
> IIUC we can avoid this patch if we fix BZ #21735?
>
yes, this is an alternative workaround that's less intrusive.