Merge "Boost init priority before main loop"
This commit is contained in:
commit
4203129353
4 changed files with 10 additions and 1 deletions
|
|
@ -868,6 +868,8 @@ int SecondStageMain(int argc, char** argv) {
|
||||||
// Run all property triggers based on current state of the properties.
|
// Run all property triggers based on current state of the properties.
|
||||||
am.QueueBuiltinAction(queue_property_triggers_action, "queue_property_triggers");
|
am.QueueBuiltinAction(queue_property_triggers_action, "queue_property_triggers");
|
||||||
|
|
||||||
|
// Restore prio before main loop
|
||||||
|
setpriority(PRIO_PROCESS, 0, 0);
|
||||||
while (true) {
|
while (true) {
|
||||||
// By default, sleep until something happens.
|
// By default, sleep until something happens.
|
||||||
auto epoll_timeout = std::optional<std::chrono::milliseconds>{};
|
auto epoll_timeout = std::optional<std::chrono::milliseconds>{};
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,8 @@ int main(int argc, char** argv) {
|
||||||
#if __has_feature(address_sanitizer)
|
#if __has_feature(address_sanitizer)
|
||||||
__asan_set_error_report_callback(AsanReportCallback);
|
__asan_set_error_report_callback(AsanReportCallback);
|
||||||
#endif
|
#endif
|
||||||
|
// Boost prio which will be restored later
|
||||||
|
setpriority(PRIO_PROCESS, 0, -20);
|
||||||
if (!strcmp(basename(argv[0]), "ueventd")) {
|
if (!strcmp(basename(argv[0]), "ueventd")) {
|
||||||
return ueventd_main(argc, argv);
|
return ueventd_main(argc, argv);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <android-base/file.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; };
|
trigger_shutdown = [](const std::string& command) { shutdown_command = command; };
|
||||||
|
|
||||||
auto subcontext_process = SubcontextProcess(function_map, context, init_fd);
|
auto subcontext_process = SubcontextProcess(function_map, context, init_fd);
|
||||||
|
// Restore prio before main loop
|
||||||
|
setpriority(PRIO_PROCESS, 0, 0);
|
||||||
subcontext_process.MainLoop();
|
subcontext_process.MainLoop();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -321,6 +321,8 @@ int ueventd_main(int argc, char** argv) {
|
||||||
while (waitpid(-1, nullptr, WNOHANG) > 0) {
|
while (waitpid(-1, nullptr, WNOHANG) > 0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Restore prio before main loop
|
||||||
|
setpriority(PRIO_PROCESS, 0, 0);
|
||||||
uevent_listener.Poll([&uevent_handlers](const Uevent& uevent) {
|
uevent_listener.Poll([&uevent_handlers](const Uevent& uevent) {
|
||||||
for (auto& uevent_handler : uevent_handlers) {
|
for (auto& uevent_handler : uevent_handlers) {
|
||||||
uevent_handler->HandleUevent(uevent);
|
uevent_handler->HandleUevent(uevent);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue