This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] abort: Only flush file-based stdio streams before termination
- From: Florian Weimer <fweimer at redhat dot com>
- To: Andreas Schwab <schwab at suse dot de>
- Cc: libc-alpha at sourceware dot org
- Date: Thu, 17 Aug 2017 17:57:18 +0200
- Subject: Re: [PATCH] abort: Only flush file-based stdio streams before termination
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer at redhat dot com
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com DA112883B0
- References: <20170817133507.CEA5341DB79B0@oldenburg.str.redhat.com> <mvmr2wap8sw.fsf@suse.de> <af6435dd-53c8-6f12-918f-37155a1ea192@redhat.com> <mvmmv6yp7tn.fsf@suse.de>
On 08/17/2017 04:50 PM, Andreas Schwab wrote:
> On Aug 17 2017, Florian Weimer <fweimer@redhat.com> wrote:
>
>> On 08/17/2017 04:29 PM, Andreas Schwab wrote:
>>> On Aug 17 2017, fweimer@redhat.com (Florian Weimer) wrote:
>>>
>>>> Historically, glibc flushes streams on abort, which is not
>>>> required by POSIX. This can trigger additional work
>>>> (including callbacks through function pointers) in processes
>>>> which are known to be in a bad state. After this change,
>>>> only streams which are backed by the standard descriptor-based
>>>> implementation are flushed.
>>>
>>> That still doesn't make abort thread-safe.
>>
>> Do you mean async-signal-safe?
>
> No, thread-safe. Accessing _IO_list_all without locking is broken to
> begin with.
In your opinion, should we remove the flushing altogether?
We still have a similar problem during regular process termination, though.
Thanks,
Florian