Go to file
Mark Salyzyn e9ade17418 liblogcat: introduce getopt_long_r
Resolve one of the threading issues by creating a private C++ified
copy of getopt_long_r that started out its life as the bionic
getopt_long, but is reentrant.  Adds a new state context for the
stderr stream called optstderr.  Utilize this new function in logcat.
Control opterr and optstderr to match liblogcat expectations.  Correct
and fortify const.

Alternative would be to lock around _all_ getopt callers.  This has
the advantage of requiring _no_ locks that could get in the way of
using liblogcat in a signal handler.  The log reader interface does
run the risk of incurring locks and heap allocations though, so there
is more work to be done for that final goal.

Test: gTest logcat-unit-tests
Bug: 35326290
Change-Id: Ibb1b374c55d357d5d7fa5ad00bfaf07ae0bc4ba5
2017-03-06 08:40:16 -08:00
adb adb: turn on libusb by default. 2017-03-02 13:23:56 -08:00
adf libadfhwc: Fix adf_hwc_close 2017-03-02 17:40:16 +00:00
base Merge "add base::WaitForPropertyCreation" 2017-02-28 22:39:41 +00:00
bootstat bootstat: Report the total bootloader time. 2017-02-16 11:53:03 -08:00
cpio mkbootfs: Fix the default st_mode for root directory. 2016-10-07 16:14:27 -07:00
debuggerd Small debuggerd improvements. 2017-03-02 19:01:20 -08:00
fastboot Fastboot: use flash erase & logical block size for building userdata 2017-02-08 18:30:40 -08:00
fingerprintd liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
fs_mgr fs_mgr: make is_device_secure() work even in the absence of properties. 2017-02-27 12:46:18 -08:00
gatekeeperd liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
healthd healthd: Track the API change of minui/minui.h. 2017-01-18 23:02:45 -08:00
include DO NOT MERGE ANYWHERE Qemu-pipe: refactor qemu_pipe.h into libqemu_pipe 2017-03-01 16:33:44 -08:00
init Track the move of split SELinux policy CIL files 2017-03-03 10:35:10 -08:00
libappfuse Add permission bits to open() with O_CREAT. 2017-02-08 23:44:29 -08:00
libbacktrace libbacktraceoffline: make it thread-safe. 2017-02-13 10:35:06 -08:00
libbinderwrapper Convert libbinderwrapper_test_support to be a static library 2017-03-03 17:14:04 -08:00
libcrypto_utils Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libcutils Merge "Bluetooth hal: moved to vendor partition." 2017-02-28 04:00:58 +00:00
libdiskconfig liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libion liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
liblog liblog: logprint, error return and truncated data 2017-03-03 11:10:11 -08:00
libmemtrack liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libmemunreachable liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libmetricslogger libmetricslogger: Use libBionicGtestMain instead of a custom test runner. 2017-02-13 13:41:44 -08:00
libnativebridge liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libnativeloader Add comment to android_link_namespaces method 2017-02-13 08:52:35 -08:00
libnetutils liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libpackagelistparser liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libpixelflinger liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libprocessgroup Switch fastboot/init/libprocessgroup to std::this_thread::sleep_for. 2016-11-14 17:08:47 -08:00
libprocinfo libprocinfo: introduce. 2016-11-14 13:42:18 -08:00
libsparse Remove "_host" and "_static" suffix from libsparse definition. 2017-01-11 19:15:11 -08:00
libsuspend liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libsync libsync: Replace inserting tuple into unordered_map in favour of pair. 2017-01-30 23:39:03 +00:00
libsysutils There's no longer a limit to property names. 2017-02-28 14:12:54 -08:00
libunwindstack Do not build any host targets on mac. 2017-01-30 13:45:16 -08:00
libusbhost usb-bulk-transfer: Clarify sign-iy-ness of param 2016-09-21 15:51:35 +00:00
libutils Add tests for multiton issue 2017-02-28 16:34:35 +00:00
libziparchive liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
lmkd liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
logcat liblogcat: introduce getopt_long_r 2017-03-06 08:40:16 -08:00
logd logd: add getEventTag id= command 2017-02-22 14:16:31 -08:00
logwrapper liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
qemu_pipe DO NOT MERGE ANYWHERE Qemu-pipe: refactor qemu_pipe.h into libqemu_pipe 2017-03-01 16:33:44 -08:00
reboot Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
rootdir Add global GCOV_PREFIX option. 2017-02-27 15:00:18 -08:00
run-as Define range of GIDs for cached app data. 2016-12-13 13:28:08 -07:00
sdcard Merge "Switch sdcardfs over to bind mounts." 2016-11-30 05:20:40 +00:00
toolbox Revert "Only allow system to write to existing input nodes." 2017-02-21 17:12:59 +00:00
trusty trusty: use log/log.h for ALOG macros 2017-01-13 07:30:11 -08:00
tzdatacheck Documentation improvements 2017-02-09 13:47:03 +00: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 init.rc: have hwservicemanager start the HAL class 2016-09-26 00:23:51 -07: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