platform_system_core/include
Mark Salyzyn f280b020b1 liblog: resolve deadlocks (part deux)
(cherry pick from commit 2d2e0a5c5e)

Although ever present, an increased regression introduced with
commit b6bee33182 (liblog: logd:
support logd.timestamp = monotonic).

A signal handler can interrupt in locked context, if log is written
in the signal handler, we are in deadlock. To reduce the contention
and chances for this problem separate out timestamp lock from is
loggable lock to reduce contention situations. Provide a best-guess
response if lock would fail in timestamp path.

Use a common lock() inline within each module, with a comment speaking
to the issues surrounding calling a function that has a mutex within
a signal handler.

ToDo: Hold off signals temporarily in mainline, restart when unblock.
      Can not use pthread_sigmask(SIG_BLOCK,,) as it breaks AtCmd.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 25563384
Change-Id: I47e2c87c988c3e359eb9eef129c6a3a08e9eedef
2015-11-25 13:52:09 -08:00
..
android log: Fix warning with __USE_MINGW_ANSI_STDIO 2014-06-12 13:19:51 -07:00
backtrace Change the 64 bit map address format. 2015-06-03 12:12:31 -07:00
cutils add cpuset support to libcutils 2015-06-11 18:35:46 -07:00
diskconfig diskconfig: Add missing include for loff_t 2012-07-23 16:11:59 -07:00
log liblog: resolve deadlocks (part deux) 2015-11-25 13:52:09 -08:00
memtrack Fix typos in comments 2015-04-20 10:10:33 -07:00
mincrypt Add support for ECDSA P-256 with SHA256 2013-10-09 17:04:50 -07:00
nativebridge LibNativeBridge: Version 2 2015-05-31 16:58:24 -07:00
netutils Refactor dhcp_utils for more flexible uses. 2015-03-02 12:26:53 +09:00
private fs_config: replace getenv('OUT') by new fs_config parameter 2015-07-09 21:47:07 -07:00
system graphics: update flexible YUV format gralloc requirement 2015-07-14 12:28:38 -07:00
sysutils Revert "Sigh, more vendors linking against hidden APIs." 2015-03-20 23:51:36 +00:00
usbhost libusbhost: Add usb_device_get_version() 2015-04-29 13:04:10 -07:00
utils libutils: Add UNEXPECTED_NULL status_t 2015-11-17 09:35:20 -08:00
ziparchive Add |optional_suffix| to StartIteration() 2015-06-23 17:31:16 -07:00