This commit is contained in:
Craig Tiller 2024-06-11 12:16:22 -07:00
parent acfcf085a4
commit eaa4e67d50
5 changed files with 15 additions and 6 deletions

View File

@ -64,7 +64,10 @@ class InprocServerTransport final : public ServerTransport {
"accept function set");
}
void Orphan() override { Unref(); }
void Orphan() override {
GRPC_TRACE_LOG(inproc, INFO) << "InprocServerTransport::Orphan(): " << this;
Unref();
}
FilterStackTransport* filter_stack_transport() override { return nullptr; }
ClientTransport* client_transport() override { return nullptr; }
@ -158,7 +161,10 @@ class InprocClientTransport final : public ClientTransport {
}));
}
void Orphan() override { delete this; }
void Orphan() override {
GRPC_TRACE_LOG(inproc, INFO) << "InprocClientTransport::Orphan(): " << this;
Unref();
}
FilterStackTransport* filter_stack_transport() override { return nullptr; }
ClientTransport* client_transport() override { return this; }

View File

@ -877,10 +877,7 @@ Poll<bool> CallState::PollWasCancelled() {
case ServerTrailingMetadataState::kNotPushed:
case ServerTrailingMetadataState::kPushed:
case ServerTrailingMetadataState::kPushedCancel: {
auto r = server_trailing_metadata_waiter_.pending();
LOG(INFO) << GRPC_DUMP_ARGS(
server_trailing_metadata_waiter_.DebugString());
return r;
return server_trailing_metadata_waiter_.pending();
}
case ServerTrailingMetadataState::kPulled:
return false;

View File

@ -508,6 +508,8 @@ class Transport : public InternallyRefCounted<Transport> {
struct RawPointerChannelArgTag {};
static absl::string_view ChannelArgName() { return GRPC_ARG_TRANSPORT; }
using InternallyRefCounted<Transport>::InternallyRefCounted;
// Though internally ref counted transports expose their "Ref" method to
// create a RefCountedPtr to themselves. The OrphanablePtr owner is the
// singleton decision maker on whether the transport should be destroyed or
@ -601,6 +603,7 @@ class FilterStackTransport : public Transport {
class ClientTransport : public Transport {
public:
using Transport::Transport;
virtual void StartCall(CallHandler call_handler) = 0;
protected:
@ -609,6 +612,7 @@ class ClientTransport : public Transport {
class ServerTransport : public Transport {
public:
using Transport::Transport;
// Called once slightly after transport setup to register the accept function.
virtual void SetCallDestination(
RefCountedPtr<UnstartedCallDestination> unstarted_call_handler) = 0;

View File

@ -95,6 +95,7 @@ class FullstackFixture : public BaseFixture {
}
~FullstackFixture() override {
channel_.reset();
server_->Shutdown(grpc_timeout_milliseconds_to_deadline(0));
cq_->Shutdown();
void* tag;

View File

@ -104,6 +104,7 @@ static void BM_UnaryPingPong(benchmark::State& state) {
service.RequestEcho(&senv->ctx, &senv->recv_request, &senv->response_writer,
fixture->cq(), fixture->cq(), tag(slot));
}
stub.reset();
fixture.reset();
server_env[0]->~ServerEnv();
server_env[1]->~ServerEnv();