This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] abort: Only flush file-based stdio streams before termination


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]