aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/build
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/build')
-rw-r--r--libbuild2/build/script/parser.cxx2
-rw-r--r--libbuild2/build/script/runner.cxx8
-rw-r--r--libbuild2/build/script/script.cxx6
-rw-r--r--libbuild2/build/script/script.hxx5
4 files changed, 19 insertions, 2 deletions
diff --git a/libbuild2/build/script/parser.cxx b/libbuild2/build/script/parser.cxx
index c362776..95b835e 100644
--- a/libbuild2/build/script/parser.cxx
+++ b/libbuild2/build/script/parser.cxx
@@ -2826,7 +2826,7 @@ namespace build2
cmd,
nullptr /* iteration_index */, li,
ll,
- cf, false /* last_cmd */);
+ cf);
iss.exceptions (istream::badbit);
}
diff --git a/libbuild2/build/script/runner.cxx b/libbuild2/build/script/runner.cxx
index 5d9764b..fc0fc05 100644
--- a/libbuild2/build/script/runner.cxx
+++ b/libbuild2/build/script/runner.cxx
@@ -143,7 +143,13 @@ namespace build2
(cf != nullptr &&
p.recall.string () == "for"));
}) != expr.end ())
- build2::script::run (env, expr, ii, li, ll, cf);
+ {
+ build2::script::run (env,
+ expr,
+ ii, li,
+ ll,
+ cf, (cf != nullptr) /* replace_last_cmd */);
+ }
else if (verb >= 2)
text << expr;
}
diff --git a/libbuild2/build/script/script.cxx b/libbuild2/build/script/script.cxx
index 0d96cc3..fba38a8 100644
--- a/libbuild2/build/script/script.cxx
+++ b/libbuild2/build/script/script.cxx
@@ -235,6 +235,12 @@ namespace build2
}
}
+ void environment::
+ sleep (const duration& d)
+ {
+ context.sched->sleep (d);
+ }
+
lookup environment::
lookup (const variable& var) const
{
diff --git a/libbuild2/build/script/script.hxx b/libbuild2/build/script/script.hxx
index 08f1bf4..19f6d0b 100644
--- a/libbuild2/build/script/script.hxx
+++ b/libbuild2/build/script/script.hxx
@@ -189,6 +189,11 @@ namespace build2
virtual void
create_temp_dir () override;
+ // Call the scheduler's sleep() function.
+ //
+ virtual void
+ sleep (const duration&) override;
+
// Variables.
//
public: