diff options
author | 2015-04-29 09:48:43 -0700 | |
---|---|---|
committer | 2015-04-29 09:48:43 -0700 | |
commit | 45d54e4581c311cd2435758a09fc543d57017831 (patch) | |
tree | 997235ce625469a36d28d48a378369a15d127d06 /src/cpp | |
parent | 8954e90b72e69ef353eddb1fcfd4765a75b79111 (diff) | |
parent | f894b1d26fd47dc48a8c38509bea14d88eabad42 (diff) |
Merge remote-tracking branch 'upstream/master' into stap
Diffstat (limited to 'src/cpp')
-rw-r--r-- | src/cpp/client/channel.h | 1 | ||||
-rw-r--r-- | src/cpp/server/server.cc | 9 | ||||
-rw-r--r-- | src/cpp/server/server_builder.cc | 3 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/cpp/client/channel.h b/src/cpp/client/channel.h index 46009d20ba..cd239247c8 100644 --- a/src/cpp/client/channel.h +++ b/src/cpp/client/channel.h @@ -51,7 +51,6 @@ class Credentials; class StreamContextInterface; class Channel GRPC_FINAL : public GrpcLibrary, - public std::enable_shared_from_this<Channel>, public ChannelInterface { public: Channel(const grpc::string& target, grpc_channel* c_channel); diff --git a/src/cpp/server/server.cc b/src/cpp/server/server.cc index c84b9d8d84..de536ef2cf 100644 --- a/src/cpp/server/server.cc +++ b/src/cpp/server/server.cc @@ -180,6 +180,7 @@ Server::Server(ThreadPoolInterface* thread_pool, bool thread_pool_owned) : started_(false), shutdown_(false), num_running_cb_(0), + sync_methods_(new std::list<SyncRequest>), server_(grpc_server_create(cq_.cq(), nullptr)), thread_pool_(thread_pool), thread_pool_owned_(thread_pool_owned) {} @@ -196,6 +197,7 @@ Server::~Server() { if (thread_pool_owned_) { delete thread_pool_; } + delete sync_methods_; } bool Server::RegisterService(RpcService* service) { @@ -208,7 +210,8 @@ bool Server::RegisterService(RpcService* service) { method->name()); return false; } - sync_methods_.emplace_back(method, tag); + SyncRequest request(method, tag); + sync_methods_->emplace_back(request); } return true; } @@ -250,8 +253,8 @@ bool Server::Start() { grpc_server_start(server_); // Start processing rpcs. - if (!sync_methods_.empty()) { - for (auto m = sync_methods_.begin(); m != sync_methods_.end(); m++) { + if (!sync_methods_->empty()) { + for (auto m = sync_methods_->begin(); m != sync_methods_->end(); m++) { m->Request(server_); } diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index c5e115f396..81cb0e6724 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -66,7 +66,8 @@ void ServerBuilder::RegisterAsyncGenericService(AsyncGenericService* service) { void ServerBuilder::AddListeningPort(const grpc::string& addr, std::shared_ptr<ServerCredentials> creds, int* selected_port) { - ports_.push_back(Port{addr, creds, selected_port}); + Port port = {addr, creds, selected_port}; + ports_.push_back(port); } void ServerBuilder::SetThreadPool(ThreadPoolInterface* thread_pool) { |