# File lib/puppet/agent.rb, line 41
41:     def run(*args)
42:         if running?
43:             Puppet.notice "Run of %s already in progress; skipping" % client_class
44:             return
45:         end
46:         if stopping?
47:             Puppet.notice "In shutdown progress; skipping run"
48:             return
49:         end
50:         splay
51:         with_client do |client|
52:             begin
53:                 sync.synchronize { lock { client.run(*args) } }
54:             rescue => detail
55:                 puts detail.backtrace if Puppet[:trace]
56:                 Puppet.err "Could not run %s: %s" % [client_class, detail]
57:             end
58:         end
59:     end