adb: stop using quick_exit.
We don't actually need to use quick_exit to avoid calling static destructors, since we have -Wexit-time-destructors to guarantee we don't actually have any, and this precludes the use of asan's exit time leak checking, so switch back to atexit/exit. Test: ASAN_OPTIONS=detect_leaks=1:leak_check_at_exit=1 adb server nodaemon with a manually inserted leak Change-Id: Id8178913f64cb02c820c5073351369a9e4d8c74d
This commit is contained in:
parent
73664df55e
commit
d51c6df1ef
|
@ -42,7 +42,6 @@
|
|||
#include <android-base/logging.h>
|
||||
#include <android-base/macros.h>
|
||||
#include <android-base/parsenetaddress.h>
|
||||
#include <android-base/quick_exit.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
|
@ -1059,7 +1058,7 @@ int handle_host_request(const char* service, TransportType type, const char* ser
|
|||
SendOkay(reply_fd);
|
||||
|
||||
// Rely on process exit to close the socket for us.
|
||||
android::base::quick_exit(0);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
// "transport:" is used for switching transport with a specified serial number
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include <android-base/errors.h>
|
||||
#include <android-base/file.h>
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/quick_exit.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
|
||||
#include "adb.h"
|
||||
|
@ -61,7 +60,7 @@ static void setup_daemon_logging() {
|
|||
static BOOL WINAPI ctrlc_handler(DWORD type) {
|
||||
// TODO: Consider trying to kill a starting up adb server (if we're in
|
||||
// launch_server) by calling GenerateConsoleCtrlEvent().
|
||||
android::base::quick_exit(STATUS_CONTROL_C_EXIT);
|
||||
exit(STATUS_CONTROL_C_EXIT);
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
@ -95,7 +94,7 @@ int adb_server_main(int is_daemon, const std::string& socket_spec, int ack_reply
|
|||
SetConsoleCtrlHandler(ctrlc_handler, TRUE);
|
||||
#else
|
||||
signal(SIGINT, [](int) {
|
||||
fdevent_run_on_main_thread([]() { android::base::quick_exit(0); });
|
||||
fdevent_run_on_main_thread([]() { exit(0); });
|
||||
});
|
||||
#endif
|
||||
|
||||
|
@ -104,7 +103,7 @@ int adb_server_main(int is_daemon, const std::string& socket_spec, int ack_reply
|
|||
setup_daemon_logging();
|
||||
}
|
||||
|
||||
android::base::at_quick_exit(adb_server_cleanup);
|
||||
atexit(adb_server_cleanup);
|
||||
|
||||
init_transport_registration();
|
||||
init_mdns_transport_discovery();
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "sysdeps.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <atomic>
|
||||
#include <chrono>
|
||||
|
@ -33,7 +34,6 @@
|
|||
|
||||
#include <android-base/file.h>
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/quick_exit.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/parsenetaddress.h>
|
||||
#include <android-base/quick_exit.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
#include <android-base/strings.h>
|
||||
#include <android-base/thread_annotations.h>
|
||||
|
|
Loading…
Reference in New Issue