summaryrefslogtreecommitdiff
path: root/init/builtins.cpp
diff options
context:
space:
mode:
authorSteven Laver <lavers@google.com>2019-11-25 11:11:13 -0800
committerSteven Laver <lavers@google.com>2019-11-25 11:11:13 -0800
commit5fb83ab5045c5607a55848d13e44fe462d17763a (patch)
tree6392282522c8d5e18e2374696d3ac6316e9ec71b /init/builtins.cpp
parent9b3e2fbe9fc1a17ca18171f315d635503e9cc6e5 (diff)
parent9fc2a4c0a25249d39268c3348329636779d18897 (diff)
Merge RP1A.191120.001
Change-Id: I734444bb3a8b0732c851f593849dc58fc3e79cbd
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r--init/builtins.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp
index cd269807a..8ab1d44c9 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -65,6 +65,7 @@
#include "action_manager.h"
#include "bootchart.h"
+#include "builtin_arguments.h"
#include "fscrypt_init_extensions.h"
#include "init.h"
#include "mount_namespace.h"
@@ -1238,6 +1239,15 @@ static Result<void> do_enter_default_mount_ns(const BuiltinArguments& args) {
}
}
+static Result<void> do_finish_userspace_reboot(const BuiltinArguments&) {
+ LOG(INFO) << "Userspace reboot successfully finished";
+ boot_clock::time_point now = boot_clock::now();
+ property_set("sys.init.userspace_reboot.last_finished",
+ std::to_string(now.time_since_epoch().count()));
+ property_set(kUserspaceRebootInProgress, "0");
+ return {};
+}
+
// Builtin-function-map start
const BuiltinFunctionMap& GetBuiltinFunctionMap() {
constexpr std::size_t kMax = std::numeric_limits<std::size_t>::max();
@@ -1259,6 +1269,7 @@ const BuiltinFunctionMap& GetBuiltinFunctionMap() {
{"exec_background", {1, kMax, {false, do_exec_background}}},
{"exec_start", {1, 1, {false, do_exec_start}}},
{"export", {2, 2, {false, do_export}}},
+ {"finish_userspace_reboot", {0, 0, {false, do_finish_userspace_reboot}}},
{"hostname", {1, 1, {true, do_hostname}}},
{"ifup", {1, 1, {true, do_ifup}}},
{"init_user0", {0, 0, {false, do_init_user0}}},