[PATCH] abort: Only flush file-based stdio streams before termination
Florian Weimer
fweimer@redhat.com
Thu Aug 17 15:57:00 GMT 2017
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
More information about the Libc-alpha
mailing list