[PATCH] abort: Only flush file-based stdio streams before termination
Florian Weimer
fweimer@redhat.com
Thu Aug 17 13:59:00 GMT 2017
On 08/17/2017 03:45 PM, Carlos O'Donell wrote:
> On 08/17/2017 09:35 AM, 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.
>
> Does this mean open_memstream streams to NVM won't be flushed by
> default?
You can't put open_memstream streams on NVM because their backing
storage is tied to the malloc allocator.
> As a user I might be convinced that my own custom streams need to
> flushed by hand in an abort handler, but I might expect open_memstream
> streams to be flushed.
Flushing open_memstream streams prior to process termination is not
observable, except via an abort handler. I don't think we need to flush
them.
Thanks,
Florian
More information about the Libc-alpha
mailing list