android_system_core/libcutils
Earl Ou e4030384c4 libcutils: write trace event into socket in container
When Android is running in a container, ftrace trace_marker may be
disabled, e.g. Chrome OS verified mode. To enable trace, a socket is
created for everyone to send trace event.

Modify libcutils so apps using it can write trace to the socket.

To achieve this goal without touching code for normal device,
trace-container.c is created for code specific to container. Shared
code between trace-dev.c and trace-container.c is moved to local
trace-dev.h.

Note that to avoid sharing FDs across different processes, Zygote closes
FD and reopen it to /dev/null if it is a socket. Therefore, we need to
manually close FD and reopen it again after forking. This is done in
the atrace_set_tracing_enabled as Zygote also use it to clear flags
during forking.

Related change:
- http://crrev.com/2400163003 (Chromium)
- http://ag/2028075 (Android system/core)
- http://ag/1738271 (Android device/google/cheets2)

Bug: 29776474, 62410809
Test: run chrome://tracing and see data from the host side.
Change-Id: I3fe969e284b972c28e4f32f23cd948aaea61a043
2017-08-03 15:16:44 +08:00
..
arch-arm
arch-arm64
arch-mips android_memset.c: Use sanitized shifts 2015-08-27 14:32:17 -07:00
arch-x86
arch-x86_64
include cutils: update property_get to use diagnose_if. 2017-08-02 15:59:19 -07:00
include_vndk Remove VNDK warning. 2017-04-19 10:32:49 -07:00
tests libcutils: fs_config: fix "system/<partition>/" aliasing 2017-06-26 14:13:52 -07:00
Android.bp Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
android_get_control_env.h libcutils: move cutils/files.h to cutils/android_get_control_file.h 2016-11-16 15:56:56 -08:00
android_get_control_file.cpp libcutils: sdk(mac) build error 2016-11-17 08:05:16 -08:00
android_reboot.c remove emergency shutdown and improve init's reboot logic 2017-03-22 11:23:31 -07:00
ashmem-dev.c libcutils should #include <sys/sysmacros.h> 2017-05-17 11:36:51 -07:00
ashmem-host.c Don't expose ashmem constants on the host. 2016-05-13 14:47:30 -07:00
canned_fs_config.c libcutils: handle root directory empty path 2017-03-28 14:57:22 +00:00
config_utils.c
dlmalloc_stubs.c liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
fs.c Add mode bits to a call to open with O_CREAT 2017-01-25 17:31:43 -08:00
fs_config.cpp libcutils: fs_config: fix "system/<partition>/" aliasing 2017-06-26 14:13:52 -07:00
hashmap.c libcutils: cleanups for -fsanitize=integer 2015-08-26 10:40:00 -07:00
iosched_policy.c Add ioprio values directly. 2016-07-18 17:01:05 -07:00
klog.cpp Remove unused klog_get_level. 2017-01-13 18:14:12 -08:00
load_file.c
MODULE_LICENSE_APACHE2
multiuser.c Allocate a GID range for external cache files. 2017-04-17 14:50:27 -06:00
native_handle.c Preserve errno better in native_handle functions. 2017-05-01 21:34:15 -07:00
NOTICE
open_memstream.c
partition_utils.c
properties.cpp Implement android::base::WaitForProperty. 2017-02-13 11:29:02 -08:00
qtaguid.c liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
record_stream.c Use _WIN32 rather than HAVE_WINSOCK. 2015-07-29 17:45:24 -07:00
sched_policy.cpp Merge "Remove more documentation for obsolete board configuration." 2017-06-29 23:50:37 +00:00
socket_inaddr_any_server_unix.c libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
socket_inaddr_any_server_windows.c libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
socket_local_client_unix.c libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
socket_local_server_unix.c libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
socket_local_unix.h libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
socket_network_client_unix.c Make sure freeaddrinfo is always called on failure. 2017-08-02 20:32:27 +00:00
socket_network_client_windows.c libcutils: share Windows networking code. 2016-01-15 15:57:35 -08:00
sockets.cpp libcutils: move cutils/files.h to cutils/android_get_control_file.h 2016-11-16 15:56:56 -08:00
sockets_unix.cpp liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
sockets_windows.cpp libcutils: move cutils/files.h to cutils/android_get_control_file.h 2016-11-16 15:56:56 -08:00
str_parms.c liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
strdup8to16.c Fix misc-macro-parentheses warnings in init and other core modules. 2016-05-18 18:11:49 -07:00
strdup16to8.c strdup16to8.c: fix benign integer underflow. 2015-08-27 10:30:50 -07:00
strlcpy.c
threads.c
trace-container.c libcutils: write trace event into socket in container 2017-08-03 15:16:44 +08:00
trace-dev.c libcutils: write trace event into socket in container 2017-08-03 15:16:44 +08:00
trace-dev.inc libcutils: write trace event into socket in container 2017-08-03 15:16:44 +08:00
trace-host.c Hide warning in cutils/trace.h 2016-09-21 17:45:31 -07:00
uevent.c socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE 2016-12-09 15:16:28 -08:00