summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-02-24 23:01:25 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-02-24 23:01:25 +0000
commit772c7c87ffab1b7a70413fa6bbd20df45490dbf2 (patch)
treeb86f177abe4dc6526d1ac0a0c537ee9637c784ad
parent503ad38194b0064de240a1ae0f043b8fb6d40903 (diff)
downloadpuppet-772c7c87ffab1b7a70413fa6bbd20df45490dbf2.tar.gz
puppet-772c7c87ffab1b7a70413fa6bbd20df45490dbf2.tar.xz
puppet-772c7c87ffab1b7a70413fa6bbd20df45490dbf2.zip
Adding TERM to the signals being trapped
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@945 980ebf18-57e1-0310-9a29-db15c13687c0
-rwxr-xr-xbin/puppet14
-rwxr-xr-xbin/puppetd10
-rwxr-xr-xbin/puppetmasterd10
-rwxr-xr-xext/module_puppet14
4 files changed, 41 insertions, 7 deletions
diff --git a/bin/puppet b/bin/puppet
index 9fcbfe372..b39a5160b 100755
--- a/bin/puppet
+++ b/bin/puppet
@@ -142,6 +142,20 @@ rescue GetoptLong::InvalidOption => detail
exit(1)
end
+client = nil
+server = nil
+
+[:INT, :TERM].each do |signal|
+ trap(signal) do
+ Puppet.notice "Caught #{signal}; shutting down"
+ [client, server].each { |obj|
+ if obj
+ obj.shutdown
+ end
+ }
+ end
+end
+
if debug
Puppet::Log.level = :debug
elsif verbose
diff --git a/bin/puppetd b/bin/puppetd
index fb8759057..2fabccd69 100755
--- a/bin/puppetd
+++ b/bin/puppetd
@@ -278,10 +278,12 @@ end
# now set up the network client with the certs, now that we have them
client.setcerts
-trap(:INT) {
- Puppet.notice "Caught INT; shutting down"
- client.shutdown
-}
+[:INT, :TERM].each do |signal|
+ trap(signal) do
+ Puppet.notice "Caught #{signal}; shutting down"
+ client.shutdown
+ end
+end
if onetime
begin
diff --git a/bin/puppetmasterd b/bin/puppetmasterd
index 3f235b179..3ae74f73b 100755
--- a/bin/puppetmasterd
+++ b/bin/puppetmasterd
@@ -221,9 +221,13 @@ if args[:Daemonize]
server.daemonize
end
-trap(:INT) {
- server.shutdown
-}
+
+[:INT, :TERM].each do |signal|
+ trap(signal) do
+ Puppet.notice "Caught #{signal}; shutting down"
+ server.shutdown
+ end
+end
Puppet.notice "Starting Puppet server version %s" % [Puppet.version]
diff --git a/ext/module_puppet b/ext/module_puppet
index 542b93207..489cc37ba 100755
--- a/ext/module_puppet
+++ b/ext/module_puppet
@@ -132,6 +132,20 @@ if Puppet[:config] and File.exists? Puppet[:config]
Puppet.config.parse(Puppet[:config])
end
+client = nil
+server = nil
+
+[:INT, :TERM].each do |signal|
+ trap(signal) do
+ Puppet.notice "Caught #{signal}; shutting down"
+ [client, server].each { |obj|
+ if obj
+ obj.shutdown
+ end
+ }
+ end
+end
+
Puppet.genconfig
Puppet.genmanifest