Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7391575a authored by Mark Salyzyn's avatar Mark Salyzyn
Browse files

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

(cherry picked from commit f669acb0)

Bug: 17512203
Change-Id: I43cf0b4e2829b22b3ab4e537fa95ce13c76a869c
parent b3facbfd
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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;
    }