summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-03 17:32:26 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-03 17:32:26 +0000
commit651640c7c4773be43605e08625301e604547ac5c (patch)
treec1110f0454a4e23bdf3e95f1c131bdc11b6029c9 /lib/puppet
parentc140037f486ef4f0933e6a4a78b44f1105859b8b (diff)
downloadpuppet-651640c7c4773be43605e08625301e604547ac5c.tar.gz
puppet-651640c7c4773be43605e08625301e604547ac5c.tar.xz
puppet-651640c7c4773be43605e08625301e604547ac5c.zip
Fixing #401. Transactions were trying to trigger every resource, even those that did not respond to the specified callback.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2022 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/transaction.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb
index f3d05b5ef..fe86c2595 100644
--- a/lib/puppet/transaction.rb
+++ b/lib/puppet/transaction.rb
@@ -544,7 +544,8 @@ class Transaction
# Set an edge to be triggered when we evaluate its target.
def set_trigger(edge)
- return unless edge.callback
+ return unless method = edge.callback
+ return unless edge.target.respond_to?(method)
if edge.target.respond_to?(:ref)
edge.source.info "Scheduling %s of %s" % [edge.callback, edge.target.ref]
end