(maint) Enable Ctrl-C to kill all threads in developer environment

Previously, if you ran the vpooler via ruby, pressing Ctrl-C would terminate the
Webserver however the PoolManager does not have a handler and would instead
just keep executing.  This commit adds a global Ctrl-C hook which terminates
both the api and manager threads.  This behaviour will only be enabled if the
`VMPOOLER_DEBUG` environment variable exists so that it does not affect VMPooler
when running in production environments.
This commit is contained in:
Glenn Sarti 2016-11-28 15:14:39 -08:00
parent 80c0742e80
commit 8f294c055e

View file

@ -26,4 +26,11 @@ manager = Thread.new {
).execute! ).execute!
} }
if ENV['VMPOOLER_DEBUG']
trap("INT") {
puts "Shutting down."
[api, manager].each { |t| t.exit }
}
end
[api, manager].each { |t| t.join } [api, manager].each { |t| t.join }