Skip to content
Permalink
Browse files

Make sure pop() is called when Callback errors in on(...) function (#…

…1513)

* Make sure pop() is called when Callback errors in on(...) function

* Update CHANGELOG.md

* Update CHANGELOG.md
  • Loading branch information...
staabm authored and antonmedv committed Jan 21, 2018
1 parent 55fc698 commit 722b6936882a89051a4145ef1feeffe682934ac2
Showing with 8 additions and 3 deletions.
  1. +2 −0 CHANGELOG.md
  2. +6 −3 src/functions.php
@@ -11,6 +11,7 @@
- fix within() to also restore the working-path when the given callback throws a Exception [#1463]
- `pcntl_fork` is blacklisted per default on ubuntu lts boxes. make sure deployer doesnt emit a warning in this case [#1476]
- Update silverstripe recipe to support silverstripe 4
- Make sure Context::pop() is called when Callback errors in on(...) function [#1513]

## v6.0.5
[v6.0.4...v6.0.5](https://github.com/deployphp/deployer/compare/v6.0.4...v6.0.5)
@@ -344,6 +345,7 @@
- Fixed typo3 recipe
- Fixed remove of shared dir on first deploy

[#1513]: https://github.com/deployphp/deployer/pull/1513
[#1481]: https://github.com/deployphp/deployer/issues/1481
[#1476]: https://github.com/deployphp/deployer/pull/1476
[#1472]: https://github.com/deployphp/deployer/pull/1472
@@ -372,9 +372,12 @@ function on($hosts, callable $callback)
foreach ($hosts as $host) {
if ($host instanceof Host) {
Context::push(new Context($host, $input, $output));
$callback($host);
Context::pop();
try {
Context::push(new Context($host, $input, $output));
$callback($host);
} finally {
Context::pop();
}
} else {
throw new \InvalidArgumentException("Function on can iterate only on Host instances.");
}

0 comments on commit 722b693

Please sign in to comment.
You can’t perform that action at this time.