No description
Find a file
Tom Cherry 2a6811b4d1 liblog: use a rwlock for writer initialization
The current system of using atomics isn't thread safe and may result
in doubly closing FDs or closing actively used FDs.  The safest way to
do this is to use a rwlock, which should not have a much higher
overhead than the atomics do, as a vast majority of the time, there
will not be writers.

This moves us further away from using the transport interface, which
will be removed.  Each writer should be self contained, without a
separate open or available function.

Also, keep the pmsg fd open if it is opened by
__android_log_pmsg_file_write().  This fd was closed due to issues
with zygote, but it looks like it is only called by recovery now, so
there is no reason to close this fd at the end of that function.

Test: logging works, liblog-unit-tests
Change-Id: I345c9a5d18c55b11a280c8362df854784abf46fd
2019-12-12 16:19:08 -08:00
adb Merge changes I6ff85723,Ia7d743d5 2019-12-12 01:39:20 +00:00
base Merge "base: steal Chromium's NoDestructor." 2019-12-06 23:03:39 +00:00
bootstat Simply reboot if the boringssl self test fails 2019-09-19 14:59:07 -07:00
code_coverage configs for jailed procs to dump code coverage data 2019-11-08 08:20:29 -08:00
cpio Switch from dist-for-goals to dist in Android.bp 2018-11-19 23:06:12 -08:00
debuggerd Merge "Add variadic logging to libdebuggerd internal." 2019-11-19 19:04:55 +00:00
deprecated-adf adf: rename. 2019-02-14 16:30:24 -08:00
diagnose_usb Build adbd for recovery 2018-05-24 14:11:11 +09:00
fastboot Merge "fastbootd: Disallow certain operations during snapshot updates." 2019-11-19 00:49:44 +00:00
fs_mgr Merge "Using a dir /avb for DSU avb keys" 2019-12-11 23:56:09 +00:00
gatekeeperd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
healthd Merge "healthd: Fix incorrect return check" 2019-11-07 21:18:59 +00:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Require 'exact', 'prefix', or '' for match operation in property_contexts 2019-12-11 07:56:51 -08:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse Merge "Close /dev/fuse FD before calling onClosed" into qt-dev 2019-05-31 15:59:39 +00:00
libasyncio Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libbacktrace libbacktrace: Fix clang-tidy warning 2019-09-09 18:39:08 +02:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Convert more modules to Android.bp 2018-10-31 21:53:37 -07:00
libcutils Remove warning from VNDK's <cutils/log.h> 2019-12-04 08:33:49 -08:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Replace -Weverything with -Wextra 2019-11-08 13:09:00 -08:00
libkeyutils Refactor mini-keyctl and split a static library 2019-09-26 10:45:38 -07:00
liblog liblog: use a rwlock for writer initialization 2019-12-12 16:19:08 -08:00
libmetricslogger DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master 2018-12-11 14:46:12 -08:00
libmodprobe libmodprobe: add strict bool argument to LoadListedModules 2019-10-31 10:30:35 -07:00
libnetutils Properly size response buffer in ifc_act_on_address 2019-12-02 17:37:39 +09:00
libpackagelistparser Add require_root to adbd_test and libpackagelistparser_test 2019-09-24 09:13:32 -07:00
libpixelflinger Mark gglMulx and gglMulAddx as always_inline 2019-02-14 11:59:48 -08:00
libprocessgroup init: always kill oneshot services' process groups. 2019-11-19 15:13:17 -08:00
libprocinfo Add ReadMapFileAsyncSafe function. 2019-08-23 10:07:44 -07:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse libsparse: fix memory leak in output_file_close() 2019-11-12 18:52:29 +08:00
libstats Update OWNERS for libstatssocket 2019-11-01 13:25:31 -07:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Rename # vndk tag to # llndk 2019-11-13 14:32:44 +09:00
libsystem Merge changes I8186718c,I8d6f33e9,I56fe5e11,Ie4004c98,I531d3d60, ... am: b26696e2dd 2019-05-21 02:24:56 -07:00
libsysutils Make the SocketListener control pipe O_CLOEXEC. 2019-05-08 21:02:57 -07:00
libunwindstack Merge "Add a name for all test suites" 2019-12-12 02:44:26 +00:00
libusbhost Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libutils statusToString: parenthesize strerror 2019-12-10 18:43:53 +00:00
libvndksupport Rename # vndk tag to # llndk 2019-11-13 14:32:44 +09:00
libziparchive ziptool: fix unknown long options. 2019-11-16 11:18:50 -08:00
llkd llkd: do not call sync() 2019-01-10 12:52:35 -08:00
logcat logcat: remove unused enum and #def 2019-12-09 13:29:39 -08:00
logd Cleanup package_string() and its users 2019-12-06 13:55:08 -08:00
logwrapper logwrapper: update benchmark and remove old functions 2019-09-28 07:27:26 -07:00
property_service Require 'exact', 'prefix', or '' for match operation in property_contexts 2019-12-11 07:56:51 -08:00
qemu_pipe Build adbd for recovery 2018-05-24 14:11:11 +09:00
reboot adb: replace reboot service with exec of /system/bin/reboot. 2019-10-23 14:33:36 -07:00
rootdir Merge "Move setprop sys.usb.configfs 0 to on init action" 2019-12-12 02:41:16 +00:00
run-as run-as: improve diagnostics on failure. 2019-03-13 11:16:03 -07:00
sdcard Move layout_version to /data/misc/installd 2019-08-21 10:12:18 -07:00
set-verity-state Move enable-verity/disable-verity out of adb to a helper binary. 2019-10-23 14:33:36 -07:00
shell_and_utilities shell-and-utilities: add bc. 2019-12-11 15:58:38 -08:00
storaged Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
toolbox toolbox: add modprobe 2019-08-06 13:58:13 -07:00
trusty Add support for mocked RPMB 2019-11-27 14:41:16 -08:00
usbd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
CleanSpec.mk Move adbd to an apex. 2019-11-04 15:52:16 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00
TEST_MAPPING Add libcutils_test into TEST_MAPPING 2019-11-07 01:04:25 +00:00