This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Should glibc be fully reentrant? -- No. (Roland was right).
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Carlos O'Donell <carlos at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>, Roland McGrath <roland at hack dot frob dot com>, Siddhesh Poyarekar <siddhesh at redhat dot com>
- Date: Fri, 12 Dec 2014 17:17:50 +0100
- Subject: Re: Should glibc be fully reentrant? -- No. (Roland was right).
- Authentication-results: sourceware.org; auth=none
- References: <5488F9C6 dot 9080605 at redhat dot com> <54898FE0 dot 8060701 at redhat dot com> <20141211133353 dot GB10717 at domone> <5489A11A dot 3080300 at redhat dot com> <20141211141136 dot GA17090 at domone> <548ABA5B dot 9090002 at redhat dot com>
On Fri, Dec 12, 2014 at 10:50:19AM +0100, Florian Weimer wrote:
> On 12/11/2014 03:11 PM, OndÅej BÃlka wrote:
>
> >Yes, I wrote that from head so I forgot volatile/asm barrier. One could
> >add requirement like needs to be compiled by gcc4-6+ instead pure C as
> >just using signals is not part of C standard.
>
> GCC emulates atomics with locks on some platforms, or some lock-free
> instruction sequences may not be reentrant. This begins to look
> like a can of worms, unfortunately.
>
It uses only thread local variable. If they are not reentrant its
gigantic hole, you could not for example use sigaction as it could
set errno which is thread local variable.