diff --git a/include/grpc++/server.h b/include/grpc++/server.h index d0a357aeacc..fb04b88148e 100644 --- a/include/grpc++/server.h +++ b/include/grpc++/server.h @@ -212,7 +212,7 @@ class Server GRPC_FINAL : public ServerInterface, private GrpcLibraryCodegen { std::vector services_; bool has_generic_service_; - // Pointer to the c core's grpc server. + // Pointer to the wrapped grpc_server. grpc_server* server_; std::unique_ptr server_initializer_; diff --git a/include/grpc++/server_builder.h b/include/grpc++/server_builder.h index 607df74318f..c6bcf8b90a1 100644 --- a/include/grpc++/server_builder.h +++ b/include/grpc++/server_builder.h @@ -217,7 +217,7 @@ class ServerBuilder { SyncServerSettings sync_server_settings_; - /* List of completion queues added via AddCompletionQueue() method */ + // List of completion queues added via AddCompletionQueue() method std::vector cqs_; std::shared_ptr creds_; diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index f4e7733312d..9bf3221e6ac 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -116,7 +116,6 @@ ServerBuilder& ServerBuilder::SetSyncServerOption( case NUM_CQS: sync_server_settings_.num_cqs = val; break; - case MIN_POLLERS: sync_server_settings_.min_pollers = val; break; @@ -217,8 +216,8 @@ std::unique_ptr ServerBuilder::BuildAndStart() { // ServerBuilder's AddCompletionQueue() method (those completion queues // are in 'cqs_' member variable of ServerBuilder object) std::shared_ptr>> - sync_server_cqs( - new std::vector>()); + sync_server_cqs = std::make_shared< + std::vector>>(); if (has_sync_methods) { // This is a Sync server diff --git a/src/cpp/server/server_cc.cc b/src/cpp/server/server_cc.cc index da7de130886..809e74c95fe 100644 --- a/src/cpp/server/server_cc.cc +++ b/src/cpp/server/server_cc.cc @@ -312,10 +312,7 @@ class Server::SyncRequestThreadManager : public ThreadManager { if (!sync_methods_.empty()) { unknown_method_.reset(new RpcServiceMethod( "unknown", RpcMethod::BIDI_STREAMING, new UnknownMethodHandler)); - // Use of emplace_back with just constructor arguments is not accepted - // here by gcc-4.4 because it can't match the anonymous nullptr with a - // proper constructor implicitly. Construct the object and use push_back. - sync_methods_.push_back(SyncRequest(unknown_method_.get(), nullptr)); + sync_methods_.emplace_back(unknown_method_.get(), nullptr); } } diff --git a/src/cpp/thread_manager/thread_manager.cc b/src/cpp/thread_manager/thread_manager.cc index e2b32512f19..c4bf842fbb4 100644 --- a/src/cpp/thread_manager/thread_manager.cc +++ b/src/cpp/thread_manager/thread_manager.cc @@ -42,7 +42,7 @@ namespace grpc { ThreadManager::WorkerThread::WorkerThread(ThreadManager* thd_mgr) : thd_mgr_(thd_mgr), - thd_(new std::thread(&ThreadManager::WorkerThread::Run, this)) {} + thd_(&ThreadManager::WorkerThread::Run, this) {} void ThreadManager::WorkerThread::Run() { thd_mgr_->MainWorkLoop(); @@ -50,8 +50,7 @@ void ThreadManager::WorkerThread::Run() { } ThreadManager::WorkerThread::~WorkerThread() { - thd_->join(); - thd_.reset(); + thd_.join(); } ThreadManager::ThreadManager(int min_pollers, int max_pollers) diff --git a/src/cpp/thread_manager/thread_manager.h b/src/cpp/thread_manager/thread_manager.h index b667a645afb..1bb13a67dd9 100644 --- a/src/cpp/thread_manager/thread_manager.h +++ b/src/cpp/thread_manager/thread_manager.h @@ -114,7 +114,7 @@ class ThreadManager { void Run(); ThreadManager* thd_mgr_; - std::unique_ptr thd_; + grpc::thread thd_; }; // The main funtion in ThreadManager diff --git a/test/cpp/thread_manager/thread_manager_test.cc b/test/cpp/thread_manager/thread_manager_test.cc index 990e2bab3f7..9265c2921ad 100644 --- a/test/cpp/thread_manager/thread_manager_test.cc +++ b/test/cpp/thread_manager/thread_manager_test.cc @@ -85,8 +85,10 @@ void ThreadManagerTest::DoWork(void *tag, bool ok) { gpr_log(GPR_DEBUG, "DoWork()"); } - // Simulate "doing work" by sleeping - std::this_thread::sleep_for(std::chrono::milliseconds(kDoWorkDurationMsec)); + gpr_timespec sleep_time = + gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), + gpr_time_from_millis(kDoWorkDurationMsec, GPR_TIMESPAN)); + gpr_sleep_until(sleep_time); } int main(int argc, char **argv) {