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

Commit 0cf50167 authored by Wei Wang's avatar Wei Wang Committed by Automerger Merge Worker
Browse files

Merge "Boost init priority before main loop" am: 42031293 am: 75318660 am: b35f076d

Original change: https://android-review.googlesource.com/c/platform/system/core/+/1355811

Change-Id: I0d968261213c07959909b306a1589f62bd8c787b
parents 7148fc30 b35f076d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -868,6 +868,8 @@ int SecondStageMain(int argc, char** argv) {
    // Run all property triggers based on current state of the properties.
    am.QueueBuiltinAction(queue_property_triggers_action, "queue_property_triggers");

    // Restore prio before main loop
    setpriority(PRIO_PROCESS, 0, 0);
    while (true) {
        // By default, sleep until something happens.
        auto epoll_timeout = std::optional<std::chrono::milliseconds>{};
+2 −1
Original line number Diff line number Diff line
@@ -52,7 +52,8 @@ int main(int argc, char** argv) {
#if __has_feature(address_sanitizer)
    __asan_set_error_report_callback(AsanReportCallback);
#endif

    // Boost prio which will be restored later
    setpriority(PRIO_PROCESS, 0, -20);
    if (!strcmp(basename(argv[0]), "ueventd")) {
        return ueventd_main(argc, argv);
    }
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@

#include <fcntl.h>
#include <poll.h>
#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>

#include <android-base/file.h>
@@ -181,6 +183,8 @@ int SubcontextMain(int argc, char** argv, const BuiltinFunctionMap* function_map
    trigger_shutdown = [](const std::string& command) { shutdown_command = command; };

    auto subcontext_process = SubcontextProcess(function_map, context, init_fd);
    // Restore prio before main loop
    setpriority(PRIO_PROCESS, 0, 0);
    subcontext_process.MainLoop();
    return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -321,6 +321,8 @@ int ueventd_main(int argc, char** argv) {
    while (waitpid(-1, nullptr, WNOHANG) > 0) {
    }

    // Restore prio before main loop
    setpriority(PRIO_PROCESS, 0, 0);
    uevent_listener.Poll([&uevent_handlers](const Uevent& uevent) {
        for (auto& uevent_handler : uevent_handlers) {
            uevent_handler->HandleUevent(uevent);