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

Commit 0da0d9e7 authored by Tom Cherry's avatar Tom Cherry Committed by android-build-merger
Browse files

Merge "init: Prevent spin loop while waiting for exec or property"

am: c1ca1a83

Change-Id: I591ac447da8d1a6f5db9e2aa48e30c80e0c5e631
parents 4f117206 c1ca1a83
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -1322,13 +1322,14 @@ int main(int argc, char** argv) {
    am.QueueBuiltinAction(queue_property_triggers_action, "queue_property_triggers");

    while (true) {
        // By default, sleep until something happens.
        int epoll_timeout_ms = -1;

        if (!(waiting_for_exec || waiting_for_prop)) {
            am.ExecuteOneCommand();
            restart_processes();
        }

        // By default, sleep until something happens.
        int epoll_timeout_ms = -1;
        if (!(waiting_for_exec || waiting_for_prop)) {
            restart_processes();

            // If there's a process that needs restarting, wake up in time for that.
            if (process_needs_restart_at != 0) {
@@ -1338,6 +1339,7 @@ int main(int argc, char** argv) {

            // If there's more work to do, wake up again immediately.
            if (am.HasMoreCommands()) epoll_timeout_ms = 0;
        }

        epoll_event ev;
        int nr = TEMP_FAILURE_RETRY(epoll_wait(epoll_fd, &ev, 1, epoll_timeout_ms));