summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2019-08-21 09:08:27 +0200
committerDaniil Baturin <daniil@baturin.org>2019-08-27 08:15:15 +0200
commit21014e20bedb21fd4862120d0e338098284783f7 (patch)
tree5d345f7f4edd1728144ee0c47c2fe7ce29ff605b /src/services
parent8008fb508ec874ada5cb06866c1a0bd4c03be1e9 (diff)
downloadvyos-1x-21014e20bedb21fd4862120d0e338098284783f7.tar.gz
vyos-1x-21014e20bedb21fd4862120d0e338098284783f7.zip
T1598: clean up vyos-hostsd state dump on clean shutdown.
Diffstat (limited to 'src/services')
-rwxr-xr-xsrc/services/vyos-hostsd9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/services/vyos-hostsd b/src/services/vyos-hostsd
index aec06c72c..1bcb2e1f5 100755
--- a/src/services/vyos-hostsd
+++ b/src/services/vyos-hostsd
@@ -20,6 +20,7 @@ import os
import sys
import time
import json
+import signal
import traceback
import zmq
@@ -218,8 +219,16 @@ def handle_message(msg_json):
with open(STATE_FILE, 'w') as f:
json.dump(STATE, f)
+def exit_handler(sig, frame):
+ """ Clean up the state when shutdown correctly """
+ print("Cleaning up state")
+ os.unlink(STATE_FILE)
+ sys.exit(0)
+
if __name__ == '__main__':
+ signal.signal(signal.SIGTERM, exit_handler)
+
# Create a directory for state checkpoints
os.makedirs(DATA_DIR, exist_ok=True)
if os.path.exists(STATE_FILE):