remove useless synchronization in exit and quick_exit
authorRich Felker <dalias@aerifal.cx>
Thu, 29 May 2014 20:35:09 +0000 (16:35 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 29 May 2014 20:35:09 +0000 (16:35 -0400)
commit2e55da911896a91e95b24ab5dc8a9d9b0718f4de
tree4a43f5d7b6b3f68d4e7a3df42e819643a0a50b11
parentd677d3fe830899926072af6dfffefb16ab6b50bd
remove useless synchronization in exit and quick_exit

calling exit more than once invokes undefined behavior. in some cases
it's desirable to detect undefined behavior and diagnose it via a
predictable crash, but the code here was silently covering up an
uncommon case (exit from more than one thread) and turning a much more
common case (recursive calls to exit) into a permanent hang.
src/exit/exit.c
src/exit/quick_exit.c