logd: in nonblocking read, sched_yield() synchronization

- sched_yield and lock synchronization in reader thread
  startup to give writer thread a chance to catch up

Bug: 17512203
Change-Id: I43cf0b4e2829b22b3ab4e537fa95ce13c76a869c
This commit is contained in:
Mark Salyzyn 2014-09-16 09:19:47 -07:00
parent 68c19686e8
commit f669acb018
1 changed files with 5 additions and 0 deletions

View File

@ -92,6 +92,11 @@ bool LogReader::onDataAvailable(SocketClient *cli) {
bool nonBlock = false;
if (strncmp(buffer, "dumpAndClose", 12) == 0) {
// Allow writer to get some cycles, and wait for pending notifications
sched_yield();
LogTimeEntry::lock();
LogTimeEntry::unlock();
sched_yield();
nonBlock = true;
}