summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahooinc.com>2022-05-23 17:29:26 +0200
committerGitHub <noreply@github.com>2022-05-23 17:29:26 +0200
commit42ec06aa69477deecc2787b5e39cdff846171be2 (patch)
treeb86b60b406dd9c774c4dc879c3207fa3e5cfd044
parent204be838157b79944f247466c78723775c7f4283 (diff)
parent5e762977b910c78ec939a6708354a3dc56484968 (diff)
Merge pull request #22714 from vespa-engine/havardpe/avoid-using-nullptr-object
avoid calling function on nullptr
-rw-r--r--fnet/src/tests/frt/detach_supervisor/detach_supervisor_test.cpp14
-rw-r--r--fnet/src/vespa/fnet/frt/supervisor.h2
2 files changed, 8 insertions, 8 deletions
diff --git a/fnet/src/tests/frt/detach_supervisor/detach_supervisor_test.cpp b/fnet/src/tests/frt/detach_supervisor/detach_supervisor_test.cpp
index 953b2e7432e..3207094e56d 100644
--- a/fnet/src/tests/frt/detach_supervisor/detach_supervisor_test.cpp
+++ b/fnet/src/tests/frt/detach_supervisor/detach_supervisor_test.cpp
@@ -75,7 +75,7 @@ struct RpcFixture : FRT_Invokable {
req->SubRef();
return target;
};
- int check_result(FRT_RPCRequest *req, uint64_t expect) {
+ static int check_result(FRT_RPCRequest *req, uint64_t expect) {
int num_ok = 0;
if (!req->CheckReturnTypes("l")) {
ASSERT_EQUAL(req->GetErrorCode(), FRTE_RPC_CONNECTION);
@@ -87,15 +87,15 @@ struct RpcFixture : FRT_Invokable {
req->SubRef();
return num_ok;
}
- int verify_rpc(FNET_Connection *conn) {
- auto *req = orb.AllocRPCRequest();
+ static int verify_rpc(FNET_Connection *conn) {
+ auto *req = FRT_Supervisor::AllocRPCRequest();
req->SetMethodName("inc");
req->GetParams()->AddInt64(7);
FRT_Supervisor::InvokeSync(conn->Owner()->GetScheduler(), conn, req, 300.0);
return check_result(req, 8);
}
- int verify_rpc(FRT_Target *target) {
- auto *req = orb.AllocRPCRequest();
+ static int verify_rpc(FRT_Target *target) {
+ auto *req = FRT_Supervisor::AllocRPCRequest();
req->SetMethodName("inc");
req->GetParams()->AddInt64(4);
target->InvokeSync(req, 300.0);
@@ -135,8 +135,8 @@ TEST_MT_FFFFF("require that supervisor can be detached from transport", 4, Basic
std::this_thread::sleep_for(50ms);
self.reset(); // <--- detach supervisor for server 1
TEST_BARRIER(); // #4
- EXPECT_EQUAL(self->verify_rpc(target), 0); // outgoing 2way target should be closed
- EXPECT_EQUAL(self->verify_rpc(client_target), 1); // pure client target should not be closed
+ EXPECT_EQUAL(RpcFixture::verify_rpc(target), 0); // outgoing 2way target should be closed
+ EXPECT_EQUAL(RpcFixture::verify_rpc(client_target), 1); // pure client target should not be closed
TEST_BARRIER(); // #5
target->SubRef();
client_target->SubRef();
diff --git a/fnet/src/vespa/fnet/frt/supervisor.h b/fnet/src/vespa/fnet/frt/supervisor.h
index 610baca5d93..93272e93b4a 100644
--- a/fnet/src/vespa/fnet/frt/supervisor.h
+++ b/fnet/src/vespa/fnet/frt/supervisor.h
@@ -67,7 +67,7 @@ public:
FRT_Target *GetTarget(const char *spec);
FRT_Target *Get2WayTarget(const char *spec, FNET_Context connContext = FNET_Context());
FRT_Target *GetTarget(int port);
- FRT_RPCRequest *AllocRPCRequest(FRT_RPCRequest *tradein = nullptr);
+ static FRT_RPCRequest *AllocRPCRequest(FRT_RPCRequest *tradein = nullptr);
struct SchedulerPtr {
FNET_Scheduler *ptr;