diff --git a/include/grpcpp/security/server_credentials.h b/include/grpcpp/security/server_credentials.h index ad7c0e78cac..0ce46a82622 100644 --- a/include/grpcpp/security/server_credentials.h +++ b/include/grpcpp/security/server_credentials.h @@ -67,9 +67,10 @@ std::shared_ptr XdsServerCredentials( } // namespace experimental /// Wrapper around \a grpc_server_credentials, a way to authenticate a server. -class ServerCredentials { +class ServerCredentials : private grpc::GrpcLibraryCodegen { public: - virtual ~ServerCredentials(); + ServerCredentials(); + ~ServerCredentials() override; /// This method is not thread-safe and has to be called before the server is /// started. The last call to this function wins. diff --git a/src/cpp/server/server_credentials.cc b/src/cpp/server/server_credentials.cc index c3b3a8b3793..36b5a52dc7c 100644 --- a/src/cpp/server/server_credentials.cc +++ b/src/cpp/server/server_credentials.cc @@ -18,8 +18,13 @@ #include +#include + namespace grpc { +static internal::GrpcLibraryInitializer g_gli_initializer; +ServerCredentials::ServerCredentials() { g_gli_initializer.summon(); } + ServerCredentials::~ServerCredentials() {} } // namespace grpc