aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-20 15:33:38 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-20 15:33:38 +0100
commit3c1fff17c08afbda35181902a848c3c0c09aabb9 (patch)
tree9191b62ce7742b1a749030a5ba2ae15aa7b2a325
parentcb52ab285156faa24d905218c5575a33460b1952 (diff)
downloadpaludis-3c1fff17c08afbda35181902a848c3c0c09aabb9.tar.gz
paludis-3c1fff17c08afbda35181902a848c3c0c09aabb9.tar.xz
Only do post-exec things if not skipping
-rw-r--r--src/clients/cave/cmd_execute_resolution.cc23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/clients/cave/cmd_execute_resolution.cc b/src/clients/cave/cmd_execute_resolution.cc
index ef4e4cd4..693b7a2 100644
--- a/src/clients/cave/cmd_execute_resolution.cc
+++ b/src/clients/cave/cmd_execute_resolution.cc
@@ -1261,18 +1261,21 @@ namespace
void post_execute_exclusive()
{
- ExecuteOneVisitor execute(env, cmdline, counts, job_mutex, x1_post, retcode);
- retcode |= job->accept_returning<int>(execute);
+ if (want)
+ {
+ ExecuteOneVisitor execute(env, cmdline, counts, job_mutex, x1_post, retcode);
+ retcode |= job->accept_returning<int>(execute);
- Lock lock(job_mutex);
- const std::tr1::shared_ptr<OutputManager> output_manager(
- job->state()->accept_returning<std::tr1::shared_ptr<OutputManager> >(GetOutputManager()));
+ Lock lock(job_mutex);
+ const std::tr1::shared_ptr<OutputManager> output_manager(
+ job->state()->accept_returning<std::tr1::shared_ptr<OutputManager> >(GetOutputManager()));
- if (output_manager)
- {
- if (output_manager->want_to_flush())
- display_active();
- output_manager->nothing_more_to_come();
+ if (output_manager)
+ {
+ if (output_manager->want_to_flush())
+ display_active();
+ output_manager->nothing_more_to_come();
+ }
}
}
};