Merge "Boost init priority before main loop" am: 4203129353

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

Change-Id: Ia522df2faed978cb321b40f006ce8e7c2d9d8758
This commit is contained in:
Wei Wang 2020-07-08 05:06:19 +00:00 committed by Automerger Merge Worker
commit 7531866047
4 changed files with 10 additions and 1 deletions

View file

@ -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>{};

View file

@ -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);
}

View file

@ -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;
}

View file

@ -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);