aboutsummaryrefslogtreecommitdiff
path: root/stdlib/tst-quick_exit.cc
AgeCommit message (Collapse)Author
2017-06-08Prepare for radical source tree reorganization.zack/build-layout-experimentZack Weinberg
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
2017-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2016-06-09quick_exit tests: Do not use C++ headersFlorian Weimer
If C++ headers such as <cstdlib> or <thread> are used, GCC 6 will include /usr/include/stdlib.h (instead of stdlib/stdlib.h in the glibc source directory), and this turns up as a make dependency. An implicit rule will kick in and make will try to install stdlib/stdlib.h as /usr/include/stdlib.h because the target is out of date. This commit switches to <stdlib.h> and <pthread.h> instead of <cstdlib> and <thread>.
2016-06-06Bug 20198: quick_exit should not call destructors.Carlos O'Donell
In C++11 18.5.12 says "Objects shall not be destroyed as a result of calling quick_exit." In C11 quick_exit is silent about thread object destruction. Therefore to make glibc C++ compliant we do not call any thread local destructors. A new regression test verifies the fix. I will note that C++11 18.5.3 makes it clear that C++ defines additional requirements for _Exit() to prevent it from executing destructors. Given that the point of _Exit() is to terminate the process immediately it makes sense the C and C++ should line up and avoid calling destructors. No failures. New regtest passes.