summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Howard Ro <yro@google.com> 2018-10-02 12:08:28 -0700
committer Chris Wailes <chriswailes@google.com> 2018-11-01 15:24:33 -0700
commit65e48ec13e97531b8820876917ce98a0c3a8705c (patch)
treea6937292a9c8dcb51c089bf22d119adc3050ae40
parentfc406201033e361c3f4d62364b079fb155127a62 (diff)
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
-rw-r--r--core/jni/Android.bp1
-rw-r--r--core/jni/com_android_internal_os_Zygote.cpp2
2 files changed, 3 insertions, 0 deletions
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 <utils/String8.h>
#include <selinux/android.h>
#include <seccomp_policy.h>
+#include <stats_event_list.h>
#include <processgroup/processgroup.h>
#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;