From: Howard Ro Date: Tue, 2 Oct 2018 19:08:28 +0000 (-0700) Subject: Close statsd log socket before zygote fork(). X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=65e48ec13e97531b8820876917ce98a0c3a8705c;p=android-x86%2Fframeworks-base.git Close statsd log socket before zygote fork(). MetricsLogger will start to write to statsd instead of logd. Zygote uses MetricsLogger too. So we need to close statsd socket before zygote fork() is called (see b/30963384 for context). Bug: 110537511 Test: Manually verified that it successfully boots with no crash with ag/5112579 and ag/5169664 (together) Change-Id: Id550fbd5ac2f6ca47d3293c12fb537fafa3f33a0 Merged-In: Id550fbd5ac2f6ca47d3293c12fb537fafa3f33a0 --- diff --git a/core/jni/Android.bp b/core/jni/Android.bp index d1a7d7007d3e..ed59dd4e60d1 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -229,6 +229,7 @@ cc_library_shared { "libseccomp_policy", "libgrallocusage", "libscrypt_static", + "libstatssocket", ], shared_libs: [ diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index da258019f053..6f400c42bcbe 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -56,6 +56,7 @@ #include #include #include +#include #include #include "core_jni_helpers.h" @@ -788,6 +789,7 @@ static pid_t ForkCommon(JNIEnv* env, jstring java_se_name, bool is_system_server // Close any logging related FDs before we start evaluating the list of // file descriptors. __android_log_close(); + stats_log_close(); std::string error_msg;