869a0faf21
"vendor_available" modules were available to product modules. However, not all "vendor_available" modules are required to be available to product modules. Some modules want to be available only to product modules but not vendor modules. To cover the requirement, we separate "product_available" from "vendor_available". "vendor_available" will not provide product available module. Bug: 150902910 Test: build Change-Id: I13b8222e191333c6c2cb7794ef3344fdcc6ebe98 |
||
---|---|---|
.. | ||
include/async_safe | ||
Android.bp | ||
async_safe_log.cpp | ||
README.md |
async_safe logging
This library provides an async_safe implementation for formatting and writing log messages to logd.
Note that the liblog implementation connects a single socket to logd and uses a RWLock to manage it among threads, whereas these functions connect to liblog for each log message. While it's beneficial to have this lock-free and therefore async_safe mechanism to write to logd, connecting a socket for each message does not scale well under load. It was also determined to be too costly to connect a socket for each thread as some processes, such as system_server, have over 100 threads. Therefore, we maintain these two separate mechanisms.