Go to file
Tom Cherry 4f22786cc9 logd: rework logic for LogTimeEntry
LogTimeEntry's lifecycle is spread out in various locations.  It
further seems incomplete as there is logic that assumes that its
associated thread can exit while the underlying LogTimeEntry remains
valid, however it doesn't appear that that is actually a supported
situation.

This change simplifies this logic to have only one valid state for a
LogTimeEntry: it must have its thread running and be present in
LastLogTimes.  A LogTimeEntry will never be placed into LastLogTimes
unless its thread is running and its thread will remove its associated
LogTimeEntry from LastLogTimes before it has exited.

This admittedly breaks situations where a blocking socket gets issued
multiple commands with different pid filters, tail lines, etc,
however, I'm reasonably sure that these situations were already
broken.  A check is added to close the socket in this case.

Test: multiple logcat instances work, logd.reader.per's are cleaned up
Change-Id: Ibe8651e7d530c5e9a8d6ce3150cd247982887cbe
2018-10-12 18:28:59 -07:00
adb Merge "Revert "adb: don't close sockets before hitting EOF."" 2018-10-12 06:38:55 +00:00
adf Make libadf, libsync_recovery recovery_available. 2018-08-07 10:53:07 -07:00
base Merge changes from topic "windows-libcxx" 2018-10-11 17:00:53 +00:00
bootstat bootstat: smpl -> reboot,powerloss 2018-09-26 13:02:16 -07:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Fix two clang-tidy issues in crasher.cpp. 2018-09-24 13:18:22 -07:00
demangle Build adbd for recovery 2018-05-24 14:11:11 +09:00
diagnose_usb Build adbd for recovery 2018-05-24 14:11:11 +09:00
fastboot Merge "Do not calculate CRC for sparse images during fastboot flash" 2018-10-10 22:22:30 +00:00
fs_mgr Merge changes Ib244a98f,Ib173f251 2018-10-12 20:28:37 +00:00
gatekeeperd Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
healthd Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Merge "export dumpstatez into stable_properties" 2018-10-12 07:23:23 +00:00
libappfuse Stop using SO_SNDBUFFORCE 2018-03-15 14:22:27 +09:00
libasyncio Build adbd for recovery 2018-05-24 14:11:11 +09:00
libbacktrace Implement support for linker rosegment option. 2018-10-03 20:48:45 -07:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Build adbd for recovery 2018-05-24 14:11:11 +09:00
libcutils fs_mgr: fix incorrect parameter type 2018-10-09 10:49:44 -07:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Merge "Build both static and shared lib." 2018-09-25 22:29:31 +00:00
libion libion: cleanup logging 2018-03-07 10:56:06 -08:00
libkeyutils Build adbd for recovery 2018-05-24 14:11:11 +09:00
liblog Add noexcept to move constructors and assignment operators. 2018-10-05 16:43:47 +00:00
libmemtrack Add OWNERS. 2017-12-07 13:30:03 -08:00
libmemunreachable Add noexcept to move constructors and assignment operators. 2018-10-05 16:43:47 +00:00
libmetricslogger Move to new isolation test runner. 2018-09-27 22:23:17 -07:00
libnativebridge Add error_msg argument to CloseNativeLibrary 2018-09-12 01:36:06 +02:00
libnativeloader Add error_msg argument to CloseNativeLibrary 2018-09-12 01:36:06 +02:00
libnetutils Merge "Add OWNERS." am: 3289b9c928 2017-12-07 23:51:13 +00:00
libpackagelistparser Mark as recovery_available: true 2018-05-15 09:47:04 +09:00
libpixelflinger Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
libprocessgroup Merge "Add OWNERS for libprocessgroup" 2018-09-14 21:08:32 +00:00
libprocinfo Remove ashmem from system/core 2018-08-24 12:30:09 -07:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse Revert "libsparse: Add sparse typed callback" 2018-07-26 05:23:45 +00:00
libstats Add an API to release stats logger resources. 2018-10-03 10:43:21 -07:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Merge libsync_recovery rules into libsync. 2018-08-07 11:00:50 -07:00
libsystem Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
libsysutils Suppress implicit-fallthrough warning. 2018-10-10 14:39:02 -07:00
libunwindstack Fix handling of globals for new linker. 2018-10-08 19:47:33 -07:00
libusbhost Merge "Remove urb request size maximum." am: 1cb765c867 am: 1ab6e9d018 2018-02-13 09:02:38 +00:00
libutils Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
libvndksupport bpfmt. 2018-02-16 17:58:14 -08:00
libziparchive Merge changes from topic "windows-libcxx" 2018-10-11 17:00:53 +00:00
llkd llkd: Do not check ueventd by default for stack 2018-10-08 10:32:51 -07:00
lmkd lmkd: Fix an invalid access to a pointer after it's freed 2018-10-12 11:28:33 -07:00
logcat Suppress implicit-fallthrough warnings. 2018-09-17 16:50:11 +00:00
logd logd: rework logic for LogTimeEntry 2018-10-12 18:28:59 -07:00
logwrapper Build adbd for recovery 2018-05-24 14:11:11 +09:00
mkbootimg Revert "Revert "mkbootimg: Build mkbootimg with Soong."" 2018-09-27 14:11:51 +00:00
property_service Add recovery_available: true to init dependencies 2018-07-24 13:45:50 -07:00
qemu_pipe Build adbd for recovery 2018-05-24 14:11:11 +09:00
reboot reboot: only pause indefinitely for non-shutdown operations 2017-09-29 16:29:52 +00:00
rootdir Merge "Export HWASAN_OPTIONS when SANITIZE_TARGET:=hwaddress" 2018-10-12 21:45:56 +00:00
run-as run-as: Migrate to blueprint 2018-06-27 11:15:23 -07:00
sdcard Add support for esdfs mounting 2018-01-19 12:58:42 -08:00
shell_and_utilities Make unzip available. 2018-09-04 13:33:30 -07:00
storaged Move system/core/ off NO_ERROR. 2018-10-08 11:15:52 -07:00
toolbox getevent: O_RDWR -> O_RDONLY | O_CLOEXEC 2018-08-24 12:16:17 -07:00
trusty Add noexcept to move constructors and assignment operators. 2018-10-05 16:43:47 +00:00
usbd bpfmt. 2018-02-16 17:58:14 -08: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 Remove PenaltyExcessCharacter from clang-formats. 2018-07-19 13:50:41 -07:00
.clang-format-4 Remove PenaltyExcessCharacter from clang-formats. 2018-07-19 13:50:41 -07: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
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Shared libs are supported in recovery mode 2018-06-10 08:32:24 +09: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