Fwd: local equivalent for pthread_once() in glibc?
Florian Weimer
fweimer@redhat.com
Wed May 17 09:57:00 GMT 2017
On 04/26/2017 02:40 PM, Adhemerval Zanella wrote:
> Now that we are on the subject, shouldn't we use __libc_once on
> __malloc_initialized?
I think that would be misleading. The arena selection code assumes that
the main arena has been fully initialized, not just that ptmalloc_init
has run. ptmalloc_init only performs a partial initialization, the rest
is done through malloc_consolidate (which is again triggered by the
allocation which is part of pthread_create). If we fix ptmalloc_init to
allow concurrent invocation (although that never would happen), the lack
of full initialization would still be in issue (in the impossible case
that ptmalloc_init ran concurrenctly).
Thanks,
Florian
More information about the Libc-alpha
mailing list