summaryrefslogtreecommitdiff
path: root/dalvikvm/dalvikvm.cc
diff options
context:
space:
mode:
author Roland Levillain <rpl@google.com> 2021-04-30 17:09:10 +0100
committer Roland Levillain <rpl@google.com> 2021-05-07 09:13:03 +0000
commita28c827fdb58ec489931d6e70e27818619bc1b75 (patch)
tree038448d3d8d2922c05296b60b1280c3ed3f596b6 /dalvikvm/dalvikvm.cc
parent7eedd447cb5a4904acf80123ef813a7b8dead9a2 (diff)
Use `quick_exit` instead of `_exit` (except for error handling).
Replace every occurrence of `_exit` (for cases other than pure error handling) with `quick_exit`, in order to allow functions registered with `at_quick_exit` to be called before exiting. In particular, this change will allow LLVM's code coverage profile dumping routine to be called before exiting ART processes. Test: mmma art Test: ART tests Bug: 186576313 Change-Id: Ia9b0dbb471e2a26600c8bd23f7567931d050fc9d
Diffstat (limited to 'dalvikvm/dalvikvm.cc')
-rw-r--r--dalvikvm/dalvikvm.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/dalvikvm/dalvikvm.cc b/dalvikvm/dalvikvm.cc
index 4808a1fa09..f2cc225e8b 100644
--- a/dalvikvm/dalvikvm.cc
+++ b/dalvikvm/dalvikvm.cc
@@ -215,6 +215,8 @@ extern "C" const char *__asan_default_options() {
int main(int argc, char** argv) {
// Do not allow static destructors to be called, since it's conceivable that
- // daemons may still awaken (literally).
- _exit(art::dalvikvm(argc, argv));
+ // daemons may still awaken (literally); but still have functions registered
+ // with `at_quick_exit` (for instance LLVM's code coverage profile dumping
+ // routine) be called before exiting.
+ quick_exit(art::dalvikvm(argc, argv));
}