diff options
author | Håvard Pettersen <havardpe@oath.com> | 2022-04-06 12:18:08 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@oath.com> | 2022-04-08 13:45:13 +0000 |
commit | 9fbcf76d088740aacf535e6482f86c833cfae871 (patch) | |
tree | c62dcd0f9cdcee9876b37c60f741958c14147f80 /slobrok | |
parent | 69454cef2fe53694eb5541e5f622a4e973c081bf (diff) |
remove FastOS_Application
fixup (per application):
- maybe ignore SIGPIPE
- wire argc/argv
untangle Vespa Test Framework
strip down deprecated TestApp
Diffstat (limited to 'slobrok')
-rw-r--r-- | slobrok/src/apps/check_slobrok/check_slobrok.cpp | 30 | ||||
-rw-r--r-- | slobrok/src/apps/sbcmd/sbcmd.cpp | 70 | ||||
-rw-r--r-- | slobrok/src/apps/slobrok/slobrok.cpp | 17 | ||||
-rw-r--r-- | slobrok/src/tests/startsome/rpc_info.cpp | 23 | ||||
-rw-r--r-- | slobrok/src/tests/startsome/tstdst.cpp | 15 |
5 files changed, 76 insertions, 79 deletions
diff --git a/slobrok/src/apps/check_slobrok/check_slobrok.cpp b/slobrok/src/apps/check_slobrok/check_slobrok.cpp index d533292113a..1b69588a9fc 100644 --- a/slobrok/src/apps/check_slobrok/check_slobrok.cpp +++ b/slobrok/src/apps/check_slobrok/check_slobrok.cpp @@ -1,6 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/app.h> +#include <vespa/vespalib/util/signalhandler.h> #include <vespa/fnet/frt/supervisor.h> #include <vespa/fnet/frt/target.h> #include <vespa/fnet/frt/rpcrequest.h> @@ -10,7 +10,7 @@ #include <vespa/log/log.h> LOG_SETUP("check_slobrok"); -class Slobrok_Checker : public FastOS_Application +class Slobrok_Checker { private: std::unique_ptr<fnet::frt::StandaloneFRT> _server; @@ -21,11 +21,11 @@ private: public: Slobrok_Checker() : _server(), _target(nullptr) {} - virtual ~Slobrok_Checker(); - int usage(); + ~Slobrok_Checker(); + int usage(const char *self); void initRPC(const char *spec); void finiRPC(); - int Main() override; + int main(int argc, char **argv); }; Slobrok_Checker::~Slobrok_Checker() @@ -36,9 +36,9 @@ Slobrok_Checker::~Slobrok_Checker() int -Slobrok_Checker::usage() +Slobrok_Checker::usage(const char *self) { - fprintf(stderr, "usage: %s <port>\n", _argv[0]); + fprintf(stderr, "usage: %s <port>\n", self); return 1; } @@ -65,14 +65,14 @@ Slobrok_Checker::finiRPC() int -Slobrok_Checker::Main() +Slobrok_Checker::main(int argc, char **argv) { - if (_argc != 2) { - return usage(); + if (argc != 2) { + return usage(argv[0]); } - int port = atoi(_argv[1]); + int port = atoi(argv[1]); if (port == 0) { - initRPC(_argv[1]); + initRPC(argv[1]); } else { std::ostringstream tmp; tmp << "tcp/localhost:"; @@ -104,8 +104,8 @@ Slobrok_Checker::Main() return failed; } -int main(int argc, char **argv) -{ +int main(int argc, char **argv) { + vespalib::SignalHandler::PIPE.ignore(); Slobrok_Checker sb_checker; - return sb_checker.Entry(argc, argv); + return sb_checker.main(argc, argv); } diff --git a/slobrok/src/apps/sbcmd/sbcmd.cpp b/slobrok/src/apps/sbcmd/sbcmd.cpp index 56d1b6f5a41..64c29cd92a9 100644 --- a/slobrok/src/apps/sbcmd/sbcmd.cpp +++ b/slobrok/src/apps/sbcmd/sbcmd.cpp @@ -1,6 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/app.h> +#include <vespa/vespalib/util/signalhandler.h> #include <vespa/fnet/frt/supervisor.h> #include <vespa/fnet/frt/target.h> #include <vespa/fnet/frt/rpcrequest.h> @@ -9,7 +9,7 @@ #include <vespa/log/log.h> LOG_SETUP("vespa-slobrok-cmd"); -class Slobrok_CMD : public FastOS_Application +class Slobrok_CMD { private: std::unique_ptr<fnet::frt::StandaloneFRT> _server; @@ -20,11 +20,11 @@ private: public: Slobrok_CMD() : _server(), _target(nullptr) {} - virtual ~Slobrok_CMD(); - int usage(); + ~Slobrok_CMD(); + int usage(const char *self); void initRPC(const char *spec); void finiRPC(); - int Main() override; + int main(int argc, char **argv); }; Slobrok_CMD::~Slobrok_CMD() @@ -34,9 +34,9 @@ Slobrok_CMD::~Slobrok_CMD() } int -Slobrok_CMD::usage() +Slobrok_CMD::usage(const char *self) { - fprintf(stderr, "usage: %s <port|spec> <cmd> [args]\n", _argv[0]); + fprintf(stderr, "usage: %s <port|spec> <cmd> [args]\n", self); fprintf(stderr, "with cmd one of:\n"); fprintf(stderr, " slobrok.callback.listNamesServed\n"); fprintf(stderr, " slobrok.internal.listManagedRpcServers\n"); @@ -75,14 +75,14 @@ Slobrok_CMD::finiRPC() int -Slobrok_CMD::Main() +Slobrok_CMD::main(int argc, char **argv) { - if (_argc < 3) { - return usage(); + if (argc < 3) { + return usage(argv[0]); } - int port = atoi(_argv[1]); + int port = atoi(argv[1]); if (port == 0) { - initRPC(_argv[1]); + initRPC(argv[1]); } else { std::ostringstream tmp; tmp << "tcp/localhost:"; @@ -95,39 +95,39 @@ Slobrok_CMD::Main() FRT_RPCRequest *req = _server->supervisor().AllocRPCRequest(); - req->SetMethodName(_argv[2]); - if (strcmp(_argv[2], "slobrok.admin.listAllRpcServers") == 0) { + req->SetMethodName(argv[2]); + if (strcmp(argv[2], "slobrok.admin.listAllRpcServers") == 0) { threeTables = true; // no params - } else if (strcmp(_argv[2], "slobrok.internal.listManagedRpcServers") == 0) { + } else if (strcmp(argv[2], "slobrok.internal.listManagedRpcServers") == 0) { twoTables = true; // no params - } else if (strcmp(_argv[2], "slobrok.callback.listNamesServed") == 0 - || strcmp(_argv[2], "slobrok.internal.listManagedRpcServers") == 0 - || strcmp(_argv[2], "slobrok.admin.listAllRpcServers") == 0 - || strcmp(_argv[2], "slobrok.system.stop") == 0 - || strcmp(_argv[2], "slobrok.system.version") == 0 - || strcmp(_argv[2], "system.stop") == 0) + } else if (strcmp(argv[2], "slobrok.callback.listNamesServed") == 0 + || strcmp(argv[2], "slobrok.internal.listManagedRpcServers") == 0 + || strcmp(argv[2], "slobrok.admin.listAllRpcServers") == 0 + || strcmp(argv[2], "slobrok.system.stop") == 0 + || strcmp(argv[2], "slobrok.system.version") == 0 + || strcmp(argv[2], "system.stop") == 0) { // no params - } else if (strcmp(_argv[2], "slobrok.lookupRpcServer") == 0 - && _argc == 4) + } else if (strcmp(argv[2], "slobrok.lookupRpcServer") == 0 + && argc == 4) { twoTables = true; // one param - req->GetParams()->AddString(_argv[3]); - } else if ((strcmp(_argv[2], "slobrok.registerRpcServer") == 0 - || strcmp(_argv[2], "slobrok.unregisterRpcServer") == 0 - || strcmp(_argv[2], "slobrok.admin.addPeer") == 0 - || strcmp(_argv[2], "slobrok.admin.removePeer") == 0) - && _argc == 5) + req->GetParams()->AddString(argv[3]); + } else if ((strcmp(argv[2], "slobrok.registerRpcServer") == 0 + || strcmp(argv[2], "slobrok.unregisterRpcServer") == 0 + || strcmp(argv[2], "slobrok.admin.addPeer") == 0 + || strcmp(argv[2], "slobrok.admin.removePeer") == 0) + && argc == 5) { // two params - req->GetParams()->AddString(_argv[3]); - req->GetParams()->AddString(_argv[4]); + req->GetParams()->AddString(argv[3]); + req->GetParams()->AddString(argv[4]); } else { finiRPC(); - return usage(); + return usage(argv[0]); } _target->InvokeSync(req, 5.0); @@ -186,8 +186,8 @@ Slobrok_CMD::Main() return 0; } -int main(int argc, char **argv) -{ +int main(int argc, char **argv) { + vespalib::SignalHandler::PIPE.ignore(); Slobrok_CMD sb_cmd; - return sb_cmd.Entry(argc, argv); + return sb_cmd.main(argc, argv); } diff --git a/slobrok/src/apps/slobrok/slobrok.cpp b/slobrok/src/apps/slobrok/slobrok.cpp index 791b98996fe..43a2f84feb4 100644 --- a/slobrok/src/apps/slobrok/slobrok.cpp +++ b/slobrok/src/apps/slobrok/slobrok.cpp @@ -2,7 +2,7 @@ #include <vespa/slobrok/server/sbenv.h> #include <vespa/config/common/exceptions.h> #include <vespa/vespalib/util/exceptions.h> -#include <vespa/fastos/app.h> +#include <vespa/vespalib/util/signalhandler.h> #include <csignal> #include <unistd.h> @@ -14,10 +14,10 @@ LOG_SETUP("vespa-slobrok"); **/ namespace slobrok { -class App : public FastOS_Application +class App { public: - int Main() override; + int main(int argc, char **argv); }; static std::unique_ptr<SBEnv> mainobj; @@ -47,13 +47,13 @@ hook_sigterm(void) int -App::Main() +App::main(int argc, char **argv) { uint32_t portnum = 2773; vespalib::string cfgId; int c; - while ((c = getopt(_argc, _argv, "c:s:p:N")) != -1) { + while ((c = getopt(argc, argv, "c:s:p:N")) != -1) { switch (c) { case 'c': cfgId = std::string(optarg); @@ -105,9 +105,8 @@ App::Main() } // namespace slobrok -int -main(int argc, char **argv) -{ +int main(int argc, char **argv) { + vespalib::SignalHandler::PIPE.ignore(); slobrok::App slobrok; - return slobrok.Entry(argc, argv); + return slobrok.main(argc, argv); } diff --git a/slobrok/src/tests/startsome/rpc_info.cpp b/slobrok/src/tests/startsome/rpc_info.cpp index 6f0fd679003..a37cfa24889 100644 --- a/slobrok/src/tests/startsome/rpc_info.cpp +++ b/slobrok/src/tests/startsome/rpc_info.cpp @@ -1,12 +1,12 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/fastos/app.h> +#include <vespa/vespalib/util/signalhandler.h> #include <vespa/fnet/frt/supervisor.h> #include <vespa/fnet/frt/rpcrequest.h> #include <vespa/fnet/frt/target.h> -class RPCInfo : public FastOS_Application +class RPCInfo { public: @@ -67,17 +67,17 @@ public: } - int Main() override + int main(int argc, char **argv) { - if (_argc < 2) { + if (argc < 2) { printf("usage : rpc_info <connectspec> [verbose]\n"); return 1; } - bool verbose = (_argc > 2 && strcmp(_argv[2], "verbose") == 0); + bool verbose = (argc > 2 && strcmp(argv[2], "verbose") == 0); fnet::frt::StandaloneFRT server; FRT_Supervisor & supervisor = server.supervisor(); - FRT_Target *target = supervisor.GetTarget(_argv[1]); + FRT_Target *target = supervisor.GetTarget(argv[1]); FRT_RPCRequest *m_list = nullptr; FRT_RPCRequest *info = nullptr; @@ -85,7 +85,7 @@ public: info->SetMethodName("frt.rpc.ping"); target->InvokeSync(info, 5.0); if (info->IsError()) { - fprintf(stderr, "Error talking to %s\n", _argv[1]); + fprintf(stderr, "Error talking to %s\n", argv[1]); FreeReqs(m_list, info); return 1; } @@ -129,9 +129,8 @@ public: }; -int -main(int argc, char **argv) -{ - RPCInfo myapp; - return myapp.Entry(argc, argv); +int main(int argc, char **argv) { + vespalib::SignalHandler::PIPE.ignore(); + RPCInfo myapp; + return myapp.main(argc, argv); } diff --git a/slobrok/src/tests/startsome/tstdst.cpp b/slobrok/src/tests/startsome/tstdst.cpp index 8e58fc23b27..d83d79b3a00 100644 --- a/slobrok/src/tests/startsome/tstdst.cpp +++ b/slobrok/src/tests/startsome/tstdst.cpp @@ -1,7 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include <vespa/vespalib/util/host_name.h> -#include <vespa/fastos/app.h> +#include <vespa/vespalib/util/signalhandler.h> #include <vespa/fnet/frt/supervisor.h> #include <vespa/fnet/frt/invoker.h> #include <vespa/fnet/transport.h> @@ -180,16 +180,16 @@ TstEnv::MainLoop() } -class App : public FastOS_Application +class App { public: - int Main() override { + int main(int argc, char **argv) { int sbport = 2773; int myport = 2774; const char *rpcsrvname = "testrpcsrv/17"; int c; - while ((c = getopt(_argc, _argv, "n:p:s:")) != -1) { + while ((c = getopt(argc, argv, "n:p:s:")) != -1) { switch (c) { case 'p': myport = atoi(optarg); @@ -215,9 +215,8 @@ public: } // namespace testrpcserver -int -main(int argc, char **argv) -{ +int main(int argc, char **argv) { + vespalib::SignalHandler::PIPE.ignore(); testrpcserver::App tstdst; - return tstdst.Entry(argc, argv); + return tstdst.main(argc, argv); } |