From 836d8244d9b43f5dc6b1dd40176b8fa9d7d7ed80 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Mon, 11 Feb 2019 16:33:14 +0100 Subject: [PATCH] super_node: move main loop into SuperNode::run() --- lib/super_node.cpp | 15 +++++++++------ src/villas-node.cpp | 4 ---- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/super_node.cpp b/lib/super_node.cpp index 216f71e6b..5394dc71e 100644 --- a/lib/super_node.cpp +++ b/lib/super_node.cpp @@ -488,12 +488,15 @@ void SuperNode::stop() void SuperNode::run() { -#ifdef WITH_HOOKS - task_wait(&task); - periodic(); -#else - pause(); -#endif /* WITH_HOOKS */ + int ret; + + while (state == STATE_STARTED) { + task_wait(&task); + + ret = periodic(); + if (ret) + state = STATE_STOPPING; + } } SuperNode::~SuperNode() diff --git a/src/villas-node.cpp b/src/villas-node.cpp index 8f2b3812a..921362ec7 100644 --- a/src/villas-node.cpp +++ b/src/villas-node.cpp @@ -175,10 +175,6 @@ int main(int argc, char *argv[]) throw RuntimeError("Failed to verify configuration"); sn.start(); - - while (!stop) - sn.run(); - sn.stop(); logger->info(CLR_GRN("Goodbye!"));