This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Always do locking when accessing streams (bug 15142)
* Andreas Schwab:
> On Nov 21 2019, Florian Weimer wrote:
>
>> * Andreas Schwab:
>>
>>> During exit, skip files that are currently locked to avoid deadlock.
>>
>> Which locks are taken during the deadlock?
>
> Presumably any FILE locks, if there are other threads still running.
Okay, so the problem is simply lack of progress after calling exit?
>> Does this fix or re-open bug 15142?
>
> Why re-open?
Lack of flushing of streams on process exit.
>>> + /* We want to skip locked streams. Some threads might use streams but
>>> + that is their problem, we don't flush those. */
>>> + int result = _IO_flush_all_lockp (true);
>>
>> Is this still conforming to POSIX?
>
> Are deadlocks conforming to POSIX?
I think the last time we discussed this, the conclusion was that lack of
progress was conforming to POSIX (actually required by it).
What has changed since then?
Thanks,
Florian