diff --git a/lib/api/actions/capabiltities.cpp b/lib/api/actions/capabiltities.cpp index e56abd142..a385e7c5b 100644 --- a/lib/api/actions/capabiltities.cpp +++ b/lib/api/actions/capabiltities.cpp @@ -31,6 +31,7 @@ class CapabilitiesAction : public Action { public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { json_t *json_hooks = json_array(); diff --git a/lib/api/actions/config.cpp b/lib/api/actions/config.cpp index f5b285981..3ed3d718e 100644 --- a/lib/api/actions/config.cpp +++ b/lib/api/actions/config.cpp @@ -32,6 +32,7 @@ class ConfigAction : public Action { public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { json_t *cfg = session->getSuperNode()->getConfig(); diff --git a/lib/api/actions/nodes.cpp b/lib/api/actions/nodes.cpp index 3baec3813..ce1fd57a2 100644 --- a/lib/api/actions/nodes.cpp +++ b/lib/api/actions/nodes.cpp @@ -37,6 +37,7 @@ class NodesAction : public Action { public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { json_t *json_nodes = json_array(); diff --git a/lib/api/actions/paths.cpp b/lib/api/actions/paths.cpp index 6725ef3ba..6db973ba0 100644 --- a/lib/api/actions/paths.cpp +++ b/lib/api/actions/paths.cpp @@ -36,6 +36,7 @@ class PathsAction : public Action { public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { json_t *json_paths = json_array(); diff --git a/lib/api/actions/restart.cpp b/lib/api/actions/restart.cpp index 3af3a4d7e..07731bc97 100644 --- a/lib/api/actions/restart.cpp +++ b/lib/api/actions/restart.cpp @@ -46,6 +46,7 @@ protected: const char *argv[] = { "villas-node", cfg, nullptr }; logger->info("Restart instance: config={}", cfg); + ret = execvp("/proc/self/exe", (char **) argv); if (ret) throw SystemError("Failed to restart"); @@ -53,6 +54,7 @@ protected: public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { int ret; diff --git a/lib/api/actions/shutdown.cpp b/lib/api/actions/shutdown.cpp index f394ed787..03addfcf5 100644 --- a/lib/api/actions/shutdown.cpp +++ b/lib/api/actions/shutdown.cpp @@ -33,6 +33,7 @@ class ShutdownAction : public Action { public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { killme(SIGTERM); diff --git a/lib/api/actions/status.cpp b/lib/api/actions/status.cpp index 58e4d6694..05f5fa1ba 100644 --- a/lib/api/actions/status.cpp +++ b/lib/api/actions/status.cpp @@ -34,6 +34,7 @@ class StatusAction : public Action { public: using Action::Action; + virtual int execute(json_t *args, json_t **resp) { int ret;