summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2012-08-08 15:53:08 +0100
committerJonathan Maw <jonathan.maw@codethink.co.uk>2012-08-08 16:10:44 +0100
commitde2ae447f92ae489b5f5814f6646af5e82a53339 (patch)
tree799d5d5fdf60c703964bf163ba3f85cbb82053b2
parentac88b01fc014f28484aa8520a962c24ea4fdc80a (diff)
downloadnode-startup-controller-de2ae447f92ae489b5f5814f6646af5e82a53339.tar.gz
Fix minor bugs in NodeStartupControllerApplication's SIGINT handler
The SIGINT handler did not cancel the LUCStarter, it does now. The SIGINT handler made the application quit, but the asynchronous call to deregister its shutdown consumer from the Node State Manager does that when it is finished.
-rw-r--r--NEWS2
-rw-r--r--node-startup-controller/node-startup-controller-application.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index cb94f51..f564bf5 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,8 @@ x.y.z
* Add documentation for the WatchdogClient class
* License the reference manual under Creative Commons CC0 1.0
Universal (CC0 1.0)
+* Fixed NodeStartupControllerApplication's SIGINT handler redundantly
+ quitting the application and not cancelling the LUCStarter.
0.9.1
=====
diff --git a/node-startup-controller/node-startup-controller-application.c b/node-startup-controller/node-startup-controller-application.c
index 4b637e2..94f3eff 100644
--- a/node-startup-controller/node-startup-controller-application.c
+++ b/node-startup-controller/node-startup-controller-application.c
@@ -573,15 +573,15 @@ node_startup_controller_application_handle_sigterm (gpointer user_data)
g_return_val_if_fail (IS_NODE_STARTUP_CONTROLLER_APPLICATION (application), FALSE);
+ /* cancel the LUC startup */
+ luc_starter_cancel (application->luc_starter);
+
/* deregister the shutdown consumers of legacy applications */
la_handler_service_deregister_consumers (application->la_handler);
/* unregister the shutdown client for the app itself */
node_startup_controller_application_unregister_shutdown_consumer (application);
- /* quit the application */
- g_main_loop_quit (application->main_loop);
-
/* reset the source ID */
application->sigterm_id = 0;