Merge "init: handle process actions when waiting for exec services"
diff --git a/init/init.cpp b/init/init.cpp
index a25bf6c..10701da 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -780,18 +780,18 @@
if (!(waiting_for_prop || Service::is_exec_service_running())) {
am.ExecuteOneCommand();
}
- if (!(waiting_for_prop || Service::is_exec_service_running())) {
- if (!IsShuttingDown()) {
- auto next_process_action_time = HandleProcessActions();
+ if (!IsShuttingDown()) {
+ auto next_process_action_time = HandleProcessActions();
- // If there's a process that needs restarting, wake up in time for that.
- if (next_process_action_time) {
- epoll_timeout = std::chrono::ceil<std::chrono::milliseconds>(
- *next_process_action_time - boot_clock::now());
- if (*epoll_timeout < 0ms) epoll_timeout = 0ms;
- }
+ // If there's a process that needs restarting, wake up in time for that.
+ if (next_process_action_time) {
+ epoll_timeout = std::chrono::ceil<std::chrono::milliseconds>(
+ *next_process_action_time - boot_clock::now());
+ if (*epoll_timeout < 0ms) epoll_timeout = 0ms;
}
+ }
+ if (!(waiting_for_prop || Service::is_exec_service_running())) {
// If there's more work to do, wake up again immediately.
if (am.HasMoreCommands()) epoll_timeout = 0ms;
}