AU: Catch terminate signals and block exit if necessary.
Adds a global Terminator class to manage signals and exit blocking.
BUG=7392
TEST=unit tests, gmerged on device, initctl stop update-engine
Change-Id: I2291d4eb55240a6662b18ff834af161d957bce2f
Review URL: http://codereview.chromium.org/3608015
diff --git a/generate_delta_main.cc b/generate_delta_main.cc
index c66d9d1..8c5d6a9 100644
--- a/generate_delta_main.cc
+++ b/generate_delta_main.cc
@@ -21,6 +21,7 @@
#include "update_engine/delta_performer.h"
#include "update_engine/prefs.h"
#include "update_engine/subprocess.h"
+#include "update_engine/terminator.h"
#include "update_engine/update_metadata.pb.h"
#include "update_engine/utils.h"
@@ -61,6 +62,7 @@
g_thread_init(NULL);
google::ParseCommandLineFlags(&argc, &argv, true);
CommandLine::Init(argc, argv);
+ Terminator::Init();
Subprocess::Init();
logging::InitLogging("delta_generator.log",
logging::LOG_ONLY_TO_SYSTEM_DEBUG_LOG,