summaryrefslogtreecommitdiff
path: root/polux/devkit/plcd/src/plcd_main.c
diff options
context:
space:
mode:
authorThierry Carré2013-02-26 15:47:26 +0100
committerThierry Carré2013-02-28 15:49:05 +0100
commitfc402da4f830bc448699835438dd3468fcdaa1fd (patch)
tree46a2462d5586a47dc449a47b7daf6cdb40e711f7 /polux/devkit/plcd/src/plcd_main.c
parent4961ca66a4b2a7324d532283e25efdfd36fc10ba (diff)
polux/devkit/plcd: autokill plcd when no feature is activated, refs #3799
Diffstat (limited to 'polux/devkit/plcd/src/plcd_main.c')
-rw-r--r--polux/devkit/plcd/src/plcd_main.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/polux/devkit/plcd/src/plcd_main.c b/polux/devkit/plcd/src/plcd_main.c
index 861c45fb06..efdfe53594 100644
--- a/polux/devkit/plcd/src/plcd_main.c
+++ b/polux/devkit/plcd/src/plcd_main.c
@@ -116,12 +116,16 @@ main (int argc, char **argv)
/* show PLCD version */
syslog (LOG_NOTICE, "PLC Daemon (%s) Running\n", PLCD_VERSION);
- plcd_register_to_plcdrv ();
-
- while (!exit_requested)
- pause ();
+ /* Terminate the daemon when no feature is enable. */
+ if (plcd_autoswitch_timer_is_enable ())
+ {
+ plcd_register_to_plcdrv ();
+ while (!exit_requested)
+ pause ();
+ plcd_unregister_to_plcdrv ();
+ }
- plcd_unregister_to_plcdrv ();
+ syslog (LOG_NOTICE, "PLC Daemon exiting\n");
plcd_autoswitch_timer_uninit ();
plcd_uninit ();