make new TLS setup block even implementation-internals signals
authorRich Felker <dalias@aerifal.cx>
Sun, 7 Oct 2012 03:57:51 +0000 (23:57 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 7 Oct 2012 03:57:51 +0000 (23:57 -0400)
commit00902c7384963192dda8a15938786a36dca7d7ab
treedf0a684e3b60c93a66be0bd5648f076304cc386d
parent92e1cd9b0ba9a8fa86e0346b121e159fb88f99bc
make new TLS setup block even implementation-internals signals

this is needed to ensure async-cancel-safety, i.e. to make it safe to
access TLS objects when async cancellation is enabled. otherwise, if
cancellation were acter upon after the atomic fetch/add but before the
thread saved the obtained memory, another access to the same TLS in
the cancellation handler could end up performing the atomic fetch/add
again, consuming more memory than is actually available and
overflowing into other objects on the heap.
src/ldso/dynlink.c