summaryrefslogtreecommitdiff
path: root/init/builtins.cpp
diff options
context:
space:
mode:
authorScott Lobdell <slobdell@google.com>2020-05-26 15:50:03 -0700
committerScott Lobdell <slobdell@google.com>2020-05-29 12:59:28 -0700
commit87ba04e31e5203be79cc4f0361578526fb924717 (patch)
tree00d00a597aeb65576448006e60403ec05a2d17c6 /init/builtins.cpp
parent5b887647ced6ae66e5441ccd5f98e150678c5763 (diff)
parentdfe1aa0aeb4021172b3a77f441b4129bdd96e68e (diff)
Merge RP1A.200526.001
Change-Id: Ic5248ed68b2edd7cada9fc67057fe8906af96040
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r--init/builtins.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp
index d5840f6b3..4a48522ab 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -49,6 +49,7 @@
#include <android-base/chrono_utils.h>
#include <android-base/file.h>
#include <android-base/logging.h>
+#include <android-base/parsedouble.h>
#include <android-base/parseint.h>
#include <android-base/properties.h>
#include <android-base/stringprintf.h>
@@ -1087,11 +1088,12 @@ static Result<void> do_load_system_props(const BuiltinArguments& args) {
static Result<void> do_wait(const BuiltinArguments& args) {
auto timeout = kCommandRetryTimeout;
if (args.size() == 3) {
- int timeout_int;
- if (!android::base::ParseInt(args[2], &timeout_int)) {
+ double timeout_double;
+ if (!android::base::ParseDouble(args[2], &timeout_double, 0)) {
return Error() << "failed to parse timeout";
}
- timeout = std::chrono::seconds(timeout_int);
+ timeout = std::chrono::duration_cast<std::chrono::nanoseconds>(
+ std::chrono::duration<double>(timeout_double));
}
if (wait_for_file(args[1].c_str(), timeout) != 0) {