diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-05-10 11:25:48 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-05-10 12:25:38 +0000 |
commit | 4412aace869986be3a1060f78f367841353d3384 (patch) | |
tree | f4b5e1f6da5eaf1563f3b2fd64779800acfd5796 /config/src/apps/vespa-ping-configproxy/pingproxy.cpp | |
parent | 840d4e0578dc627b75bcd0050f1b253e84cc30ed (diff) |
Simplify the supervisor responsibility
Diffstat (limited to 'config/src/apps/vespa-ping-configproxy/pingproxy.cpp')
-rw-r--r-- | config/src/apps/vespa-ping-configproxy/pingproxy.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/config/src/apps/vespa-ping-configproxy/pingproxy.cpp b/config/src/apps/vespa-ping-configproxy/pingproxy.cpp index a88d7deb79a..d681473ce34 100644 --- a/config/src/apps/vespa-ping-configproxy/pingproxy.cpp +++ b/config/src/apps/vespa-ping-configproxy/pingproxy.cpp @@ -12,6 +12,7 @@ LOG_SETUP("vespa-ping-configproxy"); class PingProxy : public FastOS_Application { private: + std::unique_ptr<fnet::frt::StandaloneFRT> _server; FRT_Supervisor *_supervisor; FRT_Target *_target; @@ -19,7 +20,7 @@ private: PingProxy &operator=(const PingProxy &); public: - PingProxy() : _supervisor(NULL), _target(NULL) {} + PingProxy() : _server(), _supervisor(nullptr), _target(nullptr) {} virtual ~PingProxy(); int usage(); void initRPC(const char *spec); @@ -30,8 +31,8 @@ public: PingProxy::~PingProxy() { - LOG_ASSERT(_supervisor == NULL); - LOG_ASSERT(_target == NULL); + LOG_ASSERT(_supervisor == nullptr); + LOG_ASSERT(_target == nullptr); } @@ -48,23 +49,22 @@ PingProxy::usage() void PingProxy::initRPC(const char *spec) { - _supervisor = new FRT_Supervisor(); + _server = std::make_unique<fnet::frt::StandaloneFRT>(); + _supervisor = &_server->supervisor(); _target = _supervisor->GetTarget(spec); - _supervisor->Start(); } void PingProxy::finiRPC() { - if (_target != NULL) { + if (_target != nullptr) { _target->SubRef(); - _target = NULL; + _target = nullptr; } - if (_supervisor != NULL) { - _supervisor->ShutDown(true); - delete _supervisor; - _supervisor = NULL; + if (_server) { + _server.reset(); + _supervisor = nullptr; } } @@ -80,7 +80,7 @@ PingProxy::Main() int clientTimeout = 5; int serverPort = 19090; - const char *optArg = NULL; + const char *optArg = nullptr; int optInd = 0; while ((c = GetOpt("w:s:p:dh", optArg, optInd)) != -1) { switch (c) { |