fix(userspace/falco): fixed grpc server shutdown.

Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
This commit is contained in:
Federico Di Pierro 2023-01-12 11:33:15 +01:00 committed by poiana
parent f3546a9a55
commit e64c14a947
4 changed files with 4 additions and 6 deletions

View File

@ -222,10 +222,7 @@ void falco::grpc::server::run()
}
// todo(leodido) > log "gRPC server running: threadiness=m_threads.size()"
while(server_impl::is_running())
{
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
m_server->Wait();
// todo(leodido) > log "stopping gRPC server"
stop();
}
@ -233,7 +230,6 @@ void falco::grpc::server::run()
void falco::grpc::server::stop()
{
falco_logger::log(LOG_INFO, "Shutting down gRPC server. Waiting until external connections are closed by clients\n");
m_server->Shutdown();
m_completion_queue->Shutdown();
falco_logger::log(LOG_INFO, "Waiting for the gRPC threads to complete\n");

View File

@ -56,7 +56,6 @@ private:
std::string m_cert_chain;
std::string m_root_certs;
std::unique_ptr<::grpc::Server> m_server;
std::vector<std::thread> m_threads;
::grpc::ServerBuilder m_server_builder;
void init_mtls_server_builder();

View File

@ -87,4 +87,5 @@ void falco::grpc::server_impl::version(const context& ctx, const version::reques
void falco::grpc::server_impl::shutdown()
{
m_stop = true;
m_server->Shutdown();
}

View File

@ -43,6 +43,8 @@ protected:
// Version
void version(const context& ctx, const version::request& req, version::response& res);
std::unique_ptr<::grpc::Server> m_server;
private:
std::atomic<bool> m_stop{false};
};