summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2022-04-06 12:18:08 +0000
committerHåvard Pettersen <havardpe@oath.com>2022-04-08 13:45:13 +0000
commit9fbcf76d088740aacf535e6482f86c833cfae871 (patch)
treec62dcd0f9cdcee9876b37c60f741958c14147f80 /slobrok
parent69454cef2fe53694eb5541e5f622a4e973c081bf (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.cpp30
-rw-r--r--slobrok/src/apps/sbcmd/sbcmd.cpp70
-rw-r--r--slobrok/src/apps/slobrok/slobrok.cpp17
-rw-r--r--slobrok/src/tests/startsome/rpc_info.cpp23
-rw-r--r--slobrok/src/tests/startsome/tstdst.cpp15
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);
}